搬家网站,恢复好网站后。打开网站提示错误,“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类型,这种类型的表是不能复制使用的。
发表评论