ITPub博客

首页 > 数据库 > 数据库开发技术 > 解决Mysql 出现Table‘xxx’is read only问题

解决Mysql 出现Table‘xxx’is read only问题

原创 数据库开发技术 作者:yxkong 时间:2021-04-22 12:30:00 0 删除 编辑

背景:在博客迁移过程,由于误操作原来的mysql无法启动,只能通过新建一个mysql,然后清空data目录,将原来的data都拷贝过去。

启动后登录没问题,读取也没问题,就是无法写入,出现了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 -R
664 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;如有侵权,请联系管理员删除。

上一篇: 探索ThreadLocal
下一篇: fork项目同步
请登录后发表评论 登录
全部评论

注册时间:2021-03-26

  • 博文量
    124
  • 访问量
    71505