0

我在恢复 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 基地

现在,当我启动 mysql 服务器时,我收到此错误“[错误] 致命错误:无法打开和锁定特权表:表‘主机’是只读的”

我已经尝试如下:

  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),没有任何问题。

有人可以指出我正确的方向吗,我不确定权限有什么问题。

提前致谢。

4

1 回答 1

0

回答我自己的问题,

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

重新安装了 AppArmor 并将 MySql 配置文件移到了 AppArmor 的禁用配置文件下,即使这样它也不起作用。

我复制了 /var/lib/mysql/ 下的数据库文件,MySql 停止抛出错误

于 2013-09-11T03:45:03.040 回答