繁体   English   中英

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

[英]Mysql gives me:“Can't open and lock privilege tables: Table 'host' is read only”

我在还原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停止抛出错误

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM