更改数据目录后 MySQL 无法启动(14.04,mysql 5.7)

更改数据目录后 MySQL 无法启动(14.04,mysql 5.7)

我已经将单独的硬盘安装到 /mnt/temp,并更改数据目录指向这一点。我在 apparmor 中添加了正确的设置,并使用 mysql 工作了几个小时。在添加performance_schema我的cnf并尝试重新启动 mysql,但出现错误:

[Warning] Can't create test file /mnt/temp/some_dir/blah.lower-test
...
[ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable
...

从那时起,我chmod -R 777 /mnt/temp关闭了应用程序保护,重新安装了分区,手动终止了任何与分区交互的进程,并将其performance_schema从我的配置中删除。

有什么建议么?

答案1

学习 MySQL:AppArmor 和 MySQL

如果您想要重新定位 MySQL 中的数据目录(在此示例中为/data/directory),并且 AppArmor 不允许您这样做,请在底部添加以下两行/etc/apparmor.d/local/usr.sbin.mysqld

/data/ r,
/data/** rwk, 

...然后重新加载 AppArmor 配置文件:

sudo service apparmor reload 

答案2

我也遇到了同样的问题,并认为这是一个所有权问题(这也让我产生了 AppArmor 存在问题的错觉)。

也许你可以尝试这个(/var/lib/mysql如果它与你的不匹配,请更改):

sudo chown -R mysql /var/lib/mysql
sudo chgrp -R mysql /var/lib/mysql

需要说明的是,自旧版 Ubuntu 以来,MySQL 的用户 ID 和组 ID 发生了变化。以前的用户 ID 和组 ID 现在看起来像hplippulse-access。由于数据目录对我来说是挂载绑定(在另一个分区上),因此它仍然具有这些以前的 ID,其分配已更改。

相关内容