`
zhaohaolin
  • 浏览: 1011194 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Linux下MySql出现#1036 - Table ' user' is read only 错误解决方法(转)

 
阅读更多

前几天网站备案被注销了,只有暂时迁移到国外再做打算,换了两台VPS,第一台用服务商配置好的环境+Kloxo管理平台,可能内存少点,或者我哪里没有设置好,导致用不到几个小时就访问不了,又得重启VPS才行,所以前两天会出现偶尔访问不了博客的情况。

      今天刚把第二台VPS的环境配置好,网站迁移过来,在美国洛杉矶机房。现在这台的vps内存稍大点,应该可以确保平稳运行了,速度也勉强可以。

      这次博客搬家出现了点小情况,不过还是顺利解决了。

      这次网站搬家采用直接打包mysql数据库和网页文件的形式进行迁移,上传好mysql data目录里面的网站数据库至VPS上mysql存放数据库的目录里面,解压就行。我的VPS存放数据库的路径是 /usr/local/mysql/var。

      上传好网站数据,解压,配置好数据库链接参数就行,网站就能正常连接上了,我本以为这已经是顺利迁移完成了,但后来操作的时候,发现只能读取数据库的内容,不能更改写入任何信息,提示#1036 - Table '* ' is read only (*号为任意表),也就是说表只有只读属性。

      通过SSH,给数据库文件777权限,dedeadmin是我的数据库文件夹

chmod -R 0777 /usr/local/mysql/var/dedeadmin/

      给数据库目录的所属用户和组改为MySQL
    
chown -R mysql:mysql dedeadmin

      但是这样还不能更改数据库,首先,找到mysqladmin所在位置,一般都在mysql/bin下面,我的在/usr/local/mysql/bin 里面,还需要运行以下命令:

./mysqladmin -u root -p flush-tables

      之后输入root账号的密码,马上就好了,没有任何任何提示,然后测试一下,能正常读写,搬家也就顺利完成。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics