解决Discuz!Table '[Table]caches' is read only问题

论坛要进行升级,为了防止出现意外,遂进行本地化升级测试,没有问题后进行实际操作!

今天将Linux上的mysql暂停了几分钟,然后备份整个论坛数据库,用rar打包后下载到本机,然后在局域网中的一台linux服务器(为了环境一致)将该数据库导入(之前已经建立了相同的配置的mysql账户以及对应的库名)。然后却遇到了:

Table '[Table]caches' is read only

参考了下网络上的资料(mysqladmin -u <username> -p flush-tables),结合自己管理linux的经验,将论坛数据库对应的文件夹以及里面的所有文件修改为mysql权限:chown -R mysql.mysql /mysql/data/bbs_data

重新刷新网页:

Can not write to cache files, please check directory ./forumdata/ and ./forumdata/cache/ .

看来数据表只读问题已经解决,那么给予上面两个目录www的写入权限:

chown -R www.www /htdocs/www/bbs/forumdata

chown -R www.www /htdocs/www/bbs/forumdata/cache

再次刷新网页,论坛正常了!


摘录一点数据库导入导出资料:

mysql5导出的有default-charact的设置,mysql4不支持,需要加skip-opt参数,如:
mysqldump -uroot -p --default-character-set=gbk -skip-opt databse > hx.sql


如果是搬迁到windows系统下mysql出现该问题,同理,先赋予mysql数据库目录mysql的权限,然后命令行下执行mysqladmin -u root -p flush-tables就可以了!

上一篇: 解决discuz论坛500内部服务器错误
下一篇: 忘记UCenter创始人密码怎么办

发表评论