启动后登录没问题,读取也没问题,就是无法写入,出现了Table‘xxx’is read only。
我这是因为迁移后修改my.cnf文件多加了一个配置导致
[mysqld]log-error = /app/data/mysql/logs/error.logpid-file = /app/data/mysql/mysql.pidport = 3306socket = /app/data/mysql/tmp/mysql.sockdatadir = /app/data/mysql/datainnodb_undo_directory = /app/data/mysql/undo#innodb_undo_tablespaces = 4#innodb_force_recovery =4 #这个配置不能乱加
找到mysqladmin 命令,权限没刷新的问题
find / -name mysqladmin
/usr/bin/mysqladmin -u root -p flush-tables
回车输入密码
数据库目录的归属和权限不够,授权即可
chown -R mysql.mysql /app/data/mysql/
chmod -R664 data
查看 my.cnf将 innodb_force_recovery =4 注释掉
#innodb_force_recovery =4
ps: innodb_force_recovery =4 innodb_force_recovery 可以设置为1~6,大的数字包含前面所有数字的作用,当设置参数值大于0后,可以对标进行select、create、drop操作,但insert、update或者delete这类操作是不允许的。
原文作者:5ycode;如有侵权,请联系管理员删除。