我目前正在尝试将一组数据库从一台服务器迁移到另一台服务器(两台服务器都运行完全相同版本的 mysql)。每天晚上我都会使用 mysqlhotcopy 进行备份。我已通过 rsync 将备份(所有数据库,包括 mysql)复制到新服务器。现在我得到了一大堆只读的表,我无法做任何事情来修复它。
我知道的是:移动数据库的权限和所有者是正确的。它们都是 mysql.mysql,并且对表具有适当的读/写权限 (660)。我已刷新权限、状态、表、带读锁的表。我尝试了各种修复方法(修复表 blah;修复表 blah use_frm;),但都没有成功。
我没有什么主意了,我的搜索结果都是同样的建议。
(这也让我很好奇,如果我必须从这些副本中恢复,我是否会遇到同样大的问题。)
答案1
我修复了它。我会省略过去 5 分钟内我说的大多数脏话,但罪魁祸首是 SELinux。现在那块 #@$@!# 已经关闭,一切正常。