蓝忧无泪 发表于 2020-5-8 23:45:39

论坛搬家后表只读问题(1036) Table 'common_block' is read only

很多时候搬家都是直接拷贝旧服务器的数据库文件至新服务器的对应目录,这时候经常会碰到论坛前端打不开网页,通过php等脚步语言请求服务器操作数据库则会报500错误,提示表只有读权限。如:

(1036) Table 'common_block' is read only


错误原因:一般都是我们将数据库文件从一个服务器或者本地转移到另一个linux机下时,原本我们在mysql新建的库或者表文件是属于mysql用户组和用户的,但是转移后就可能变为root用户组和用户,所以我们再在mysql下操作数据库时,由于只要在mysql操作数据库,不管你原来是以root用户登录linuxOS还是其它用户,统统变为mysql用户,所以要修改转移后的文件为mysql用户组和用户。

1.chown -R mysql:mysql admin修改用户组和用户
2.chmod 666 filename   修改文件读写权限
3.这个很重要
这样还不能更改数据库,首先,找到mysqladmin所在位置,一般都在mysql/bin下面,/usr/local/mysql/bin 里面,还需要运行以下刷新命令:

./mysqladmin -u root -p flush-tables 


我的WDCP是在 cd /www/wdlinux/mysql/bin
WDCP后台找到数据表文件列表,全选更改用户组和用户为"mysq",data下面数据库文件夹700,表文件660。

这时候一般不会报错了,但是论坛样式貌似加载不出来,会员也登陆不了。可能是因为恢复的方法不对,后来把旧论坛WEB文件install.lock删了直接重装一遍,再把数据库表全部替换为旧论坛的表(因为比官方的表多很多,之前都是剔除性恢复),按上面一样更新权限与刷新表后竟然可以了。










蓝忧无泪 发表于 2020-5-8 23:46:22


mysql mysqladmin常用命令


修改root密码

mysqladmin -u root -p123456 password 'YOURNEWPASSWORD'

检查mysql是否在运行

systemctl status mariadb

mysqladmin -u root -p ping

安全关闭

mysqladmin -u root -p shutdown

systemctl stop mariadb

查看mysql运行状态

mysqladmin -uroot -p status



查看版本

mysql -V

mysqladmin -u root -proot version



查看变量的值和状态等

mysqladmin -u root -p extended-status

mysqladmin -u root -p variables

mysqladmin -u root -p processlist

mysqladmin创建删除表操作

mysqladmin -u root -p create databasename

mysqladmin -u root -p drop databasename

重新加载Privileges

mysqladmin -u root -p reload;

mysqladmin -u root -p refresh

MySQL Flush命令

以下是一些有用的刷新命令及其说明。

flush-hosts:从主机缓存中刷新所有主机信息。
flush-tables:刷新所有表。
flush-threads:刷新所有线程缓存。
flush-logs:刷新所有信息日志。
flush-privileges:重新加载授权表(与重新加载相同)。
flush-status:清除状态变量。
# mysqladmin -u root -p flush-hosts
# mysqladmin -u root -p flush-tables
# mysqladmin -u root -p flush-threads
# mysqladmin -u root -p flush-logs
# mysqladmin -u root -p flush-privileges
# mysqladmin -u root -p flush-status
杀掉休眠线程

mysqladmin -u root -p processlist

mysqladmin -u root -p kill 5,10

多命令连接操作

mysqladmin -u root -p processlist status version

连接远程服务

mysqladmin -h 172.16.25.126 -u root -p

停止/开始远程服务器的复制

mysqladmin -u root -p start-slave

mysqladmin -u root -p stop-slave

mysql查看debug

mysqladmin -u root -p debug
页: [1]
查看完整版本: 论坛搬家后表只读问题(1036) Table 'common_block' is read only