mysql的Table “xxxx“ is read only错误看起来意思是这个表是只读的,也就是没有写入的权限
要解决它首先要给mysql的数据库目录设置正确的权限
并且保证mysql安装目录的/var/lib/mysql的目录权限设置为700
里面所有的数据名为目录的目录权限设置为777
其内所有文件的权限设置为660
权限设置好之后还有一步也是最重要的一步就是刷新,我在前面设置了N次还是出现同样的问题,后来才发现是数据库没有刷新。
SSH登陆到服务器执行:
>mysqladmin -u <username> -p flush-tables
这里的username是你的数据库用户名,如果你是使用root用户这里不用输入,即
>mysqladmin –p flush-tables
回车后输入密码
然后重启服务器或者重启MYSQL
>mysqladmin –p reload
这样就可以解决这个问题了。
另:如果你是在别的服务器上直接复制过来的MYSQL数据库文件夹,那么还有可能文件拥有者和组有可能也要设置
命令如下:
切换到你的数据库目录下运行
>chown –R mysql:mysql ./* 这样即是设置本目录下所有文件的所属用户和用户组为mysql。