Problem with access settings on one database on mySQL
Hi I have MySQL running on a RAQ4i. It has been running perfectly well for almost a year and has four separate databases on it. Last week, whilst checking over the sites that make calls on these databases I noticed that only one had problems. Through searching the FAQs and online documentation I have narrowed down the problem to being something to do with the access permissions on the .frm files of the database tables. I am using PHP MyAdmin 2.2.1 to view and edit the tables and data. When I click the database to view the tables they are all displayed, but instead of showing the Records | Type | Size information all the tables show the phrase 'in use'. If I try to browse any of the tables I receive the error message: Error SQL-query : SELECT * FROM `about` LIMIT 0, 30 MySQL said: Can't find file: './gilmours/about.frm' (errno: 13) The file ./gilmours/about.frm does exist, by the way. I have backup copies of all the files (.frm, .MYI, .MYD) and by following the instructions in the online documentation have tried FLUSH TABLE, which runs without error, but doesn't give any change, I have tried all the repair options (REPAIR TABLE, myisamchk) and I have tried CHMODing the files, all without success, the same errors occur. I have also tried the 'very difficult repair' on this page : http://www.mysql.com/doc/R/e/Repair.html still leaving the same error. I cannot drop any tables or even the whole database itself, which would be a viable option as I have full backups of data and structure. I have changed the access restrictions to 666, 550, 777, and finally 660, which is what the tables in the other databases are, with no avail, I have restarted MySQL, numerous times, as well as rebooting the server. I have tried taking a working version of the same table from another database (they all are based on a similar structure) also with no success. The files as the moment stand as '-rw-rw mysql root about.frm' for example, is this correct? H E L P!! please... pretty please, with a cherry on top... Just an extra note, I am a newbie MySQL user, so please do not take anything for granted in your reply. This is my first post to this user group, but I have spent two days looking round the mailing list and FAQs to find the answer, but not really knowing what to search for has hampered my search. Any help will be gratefully and openly accepted. Thanking you in advance... Keiran Wynyard - Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail [EMAIL PROTECTED] To unsubscribe, e-mail [EMAIL PROTECTED] Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
Re: Problem with access settings on one database on mySQL
The user under which mysql is running ( 'mysql' ? Better check. ) does not have read permissions on the .frm files OR does not have execute (x) permissions on their parent ( or any ancestor ) directory. chown -R mysql:mysql /var/lib/mysql should do the trick. Replace /var/lib/mysql with the actual directory that contains all of the mysql databases. Keiran Wynyard wrote: Hi I have MySQL running on a RAQ4i. It has been running perfectly well for almost a year and has four separate databases on it. Last week, whilst checking over the sites that make calls on these databases I noticed that only one had problems. Through searching the FAQs and online documentation I have narrowed down the problem to being something to do with the access permissions on the .frm files of the database tables. I am using PHP MyAdmin 2.2.1 to view and edit the tables and data. When I click the database to view the tables they are all displayed, but instead of showing the Records | Type | Size information all the tables show the phrase 'in use'. If I try to browse any of the tables I receive the error message: Error SQL-query : SELECT * FROM `about` LIMIT 0, 30 MySQL said: Can't find file: './gilmours/about.frm' (errno: 13) The file ./gilmours/about.frm does exist, by the way. I have backup copies of all the files (.frm, .MYI, .MYD) and by following the instructions in the online documentation have tried FLUSH TABLE, which runs without error, but doesn't give any change, I have tried all the repair options (REPAIR TABLE, myisamchk) and I have tried CHMODing the files, all without success, the same errors occur. I have also tried the 'very difficult repair' on this page : http://www.mysql.com/doc/R/e/Repair.html still leaving the same error. I cannot drop any tables or even the whole database itself, which would be a viable option as I have full backups of data and structure. I have changed the access restrictions to 666, 550, 777, and finally 660, which is what the tables in the other databases are, with no avail, I have restarted MySQL, numerous times, as well as rebooting the server. I have tried taking a working version of the same table from another database (they all are based on a similar structure) also with no success. The files as the moment stand as '-rw-rw mysql root about.frm' for example, is this correct? H E L P!! please... pretty please, with a cherry on top... Just an extra note, I am a newbie MySQL user, so please do not take anything for granted in your reply. This is my first post to this user group, but I have spent two days looking round the mailing list and FAQs to find the answer, but not really knowing what to search for has hampered my search. Any help will be gratefully and openly accepted. Thanking you in advance... Keiran Wynyard - Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail [EMAIL PROTECTED] To unsubscribe, e-mail [EMAIL PROTECTED] Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php - Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail [EMAIL PROTECTED] To unsubscribe, e-mail [EMAIL PROTECTED] Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
RE: Problem with access settings on one database on mySQL
Gerald Thanks a lot for that... The first option is what worked, I didn't think to CHMOD the directory to give execute permissions! Just for the record and for any other newbies out there, the database table worked when I CHMOD'd the directory all the .frm, .MYI, .MYD files are held in to 700. Thanks again Keiran -Original Message- From: Gerald Clark [mailto:[EMAIL PROTECTED]] Sent: 17 January 2002 15:30 To: Keiran Wynyard Cc: [EMAIL PROTECTED] Subject: Re: Problem with access settings on one database on mySQL The user under which mysql is running ( 'mysql' ? Better check. ) does not have read permissions on the .frm files OR does not have execute (x) permissions on their parent ( or any ancestor ) directory. chown -R mysql:mysql /var/lib/mysql should do the trick. Replace /var/lib/mysql with the actual directory that contains all of the mysql databases. Keiran Wynyard wrote: Hi I have MySQL running on a RAQ4i. It has been running perfectly well for almost a year and has four separate databases on it. Last week, whilst checking over the sites that make calls on these databases I noticed that only one had problems. Through searching the FAQs and online documentation I have narrowed down the problem to being something to do with the access permissions on the .frm files of the database tables. I am using PHP MyAdmin 2.2.1 to view and edit the tables and data. When I click the database to view the tables they are all displayed, but instead of showing the Records | Type | Size information all the tables show the phrase 'in use'. If I try to browse any of the tables I receive the error message: Error SQL-query : SELECT * FROM `about` LIMIT 0, 30 MySQL said: Can't find file: './gilmours/about.frm' (errno: 13) The file ./gilmours/about.frm does exist, by the way. I have backup copies of all the files (.frm, .MYI, .MYD) and by following the instructions in the online documentation have tried FLUSH TABLE, which runs without error, but doesn't give any change, I have tried all the repair options (REPAIR TABLE, myisamchk) and I have tried CHMODing the files, all without success, the same errors occur. I have also tried the 'very difficult repair' on this page : http://www.mysql.com/doc/R/e/Repair.html still leaving the same error. I cannot drop any tables or even the whole database itself, which would be a viable option as I have full backups of data and structure. I have changed the access restrictions to 666, 550, 777, and finally 660, which is what the tables in the other databases are, with no avail, I have restarted MySQL, numerous times, as well as rebooting the server. I have tried taking a working version of the same table from another database (they all are based on a similar structure) also with no success. The files as the moment stand as '-rw-rw mysql root about.frm' for example, is this correct? H E L P!! please... pretty please, with a cherry on top... Just an extra note, I am a newbie MySQL user, so please do not take anything for granted in your reply. This is my first post to this user group, but I have spent two days looking round the mailing list and FAQs to find the answer, but not really knowing what to search for has hampered my search. Any help will be gratefully and openly accepted. Thanking you in advance... Keiran Wynyard - Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail [EMAIL PROTECTED] To unsubscribe, e-mail [EMAIL PROTECTED] Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php - Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail [EMAIL PROTECTED] To unsubscribe, e-mail [EMAIL PROTECTED] Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php