Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MySQL error 1036: table is read only

When im trying to insert a record to the table using phpmyadmin it gives me

#1036 - Table 'sch_portfolio' is read only 

I saw in some articles they said that this could happen if the owner of this table is somthing other than mysql. so i set the owner as mysql and restart the server. Still im getting the same error. any help would be really appreciated. Thanks in advance

drwxrwxrwx 2 mysql mysql     4096 Jul 13 15:27 schooltap
like image 944
Dilantha Avatar asked Jul 13 '13 10:07

Dilantha


2 Answers

Make sure you have not set innodb_force_recovery > 0 in my.cnf

like image 112
dklovedoctor Avatar answered Sep 18 '22 15:09

dklovedoctor


One needs super user privs to do this, most commonly sudo is used to acheve this.

in order too Change the owner of the files.

sudo chown -R mysql:mysql /var/lib/mysql

Reboot Mysql for the changes

sudo service mysql restart

who owns sch_portfolio and what group are they in, should be mysql:mysql. you'll also need to restart mysql for changes to take affect

also check that the currently logged in user had GRANT access to update

The MySQL server is running as user mysql and not as the user I logged into it with. In order for it to access files that have user only rights they must be owned by user ‘mysql’ since that is what the server is running as. Make sure the folder and files used by mysql belong to the user ‘mysql’. These files are located in the /var/lib/mysql directory. The directory itself should also belong to ‘mysql’.

like image 21
Ghostman Avatar answered Sep 17 '22 15:09

Ghostman