WenRou's Blog

新浪微薄腾讯微薄

最新碎语:测试图片碎语哦

您的位置:WenRou's Blog >lnamp> mysql提示Table is read only的解决方法

mysql提示Table is read only的解决方法

mysql提示Table is read only的解决方法

搬家网站,恢复好网站后。打开网站提示错误,“Table ‘xxxxxxx’ is read only”。

其实这样的问题,一般都是备份数据库的时候没有按照正常的方法备份。直接在MYSQL DATA目录下面复制的数据,然后上传到新服务器上。造成数据库的权限或者属主不正确导致的。

登陆客户的SSH,进入网站MYSQL下面,修改网站数据库的属主和权限。

运行命令:

chown -R mysql:mysql /var/lib/mysql/juxian/
chmod -R 0777 /var/lib/mysql/juxian/

给数据库目录的所属用户和组改为mysql,并加上777的权限。

然后,运行命令:

cd /var/lib/mysql/bin/
mysqladmin -u root -p flush-tables

运行flush-tables后,刷新网站,是不是已经好啦,read only问题解决。

 

超级无敌最简单方法:用root账号通过phpmyadmin进入mysql运行SQL语句:FLUSH TABLE

 

在网上找的,先保存一下!

今天,把mysql下一个数据的表复制到另一个文件夹,结果访问时,提示”Table is readonly”的错误。

我的主机是centos5,因为之前遇到很多权限问题,当看到这个提示时,第一反应就是数据表的权限设置除了问题。

给出错的表文件赋予写权限之后,还是提示出错。google之后发现还需要flush一下才行。用

mysqladmin -u <username> -p flush-tables 命令成功flush所有readonly的表后,问题解决。

此次解决mysql table is readonly的具体步骤是:

给mysql的数据库目录加上可写权限,即777
到mysql的Bin目录执行刷新 
mysqladmin -u <username> -p flush-tables 
另:更改了mysql权限表,可以重启mysql 服务器
mysqladmin -u <username> -p reload

为了避免下次再遇到此类问题时不至于无解,在此把mysql Table is readonly(mysql数据表只读)这个问题的解决方案做个总结。

遇到mysql table is readonly(数据表只读)之类的提示,从下面5个角度来检查问题的原因:

1.看看只读的表文件权限是否配置得当。
2.查看只读表是否上锁。
3. 查看的数据库用户对该数据库的只读表是否具有单独的访问控制。
4. 使用MySQL的优化或者修复操作对只读数据表进行修复(我用的是sqlyog)
5. 查看你的只读表是否为InnoDB类型,这种类型的表是不能复制使用的。


---

转载请注明本文标题和链接:《mysql提示Table is read only的解决方法

分享到:

发表评论

66 + 6 =
路人甲 表情
看不清楚?点图切换 Ctrl+Enter快速提交