mysql数据库的Table is readonly解决方案
mysql的Table is readonly解决方案
今天,把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类型,这种类型的表是不能复制使用的。
|