Mysql给我:“无法打开和锁定特权表:表'主机'是只读的”

普拉文

我在还原mysql数据库时遇到问题。我的主数据库是mysql5.1,现在我正尝试将其复制到mysql5.5。通过使用Xtrabackup支持数据库

我在此服务器上使用Ubuntu 12.04.3 LTS,mysql版本为:5.5.32-0ubuntu0.12.04.1-log

我已经按照所有步骤使用Xtrabackup还原了,这个创建的数据库文件已经复制到tmp目录中。

我修改了my.cnf使其指向该tmp目录。我已经更改了tmp目录权限,并将文件的所有权更改为mysql用户。drwxr-xr-x 12个mysql mysql 4096 Sep 10 10:04 base

现在,当我启动mysql服务器时,出现此错误“ [ERROR]致命错误:无法打开和锁定特权表:表'host'是只读的”

我尝试如下:

  1. 甚至尝试安装mysql5.1来查看是否是问题所在。
  2. 试图'chcon mysql_db_t'更改上下文,但是它给我“不能将部分上下文应用于未标记的文件”
  3. 我曾经使用--skip-grant进入数据库,但是使用此方法我只能访问innodb表,MyIsam表抛出只读错误
  4. 在--skip-grant之后,我使用了upgrade_mysql,这引发了很多表都是只读的错误。
  5. 我也删除了apparmor。并重新启动。
  6. 我以前在Ubuntu 12.04.2 LTS上还原了另一个数据库(5.1至5.5),没有任何问题。

能否请您指出正确的方向,我不确定权限有什么问题。

提前致谢。

普拉文

回答我自己的问题,

问题出在AppArmor。我不确定为什么即使卸载AppArmor后MySql也无法访问文件。

重新安装了AppArmor,并将MySql配置文件移到了禁用的AppArmor配置文件下,即使那样也没有用。

我将数据库文件复制到/ var / lib / mysql /下,并且MySql停止抛出错误

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章