我已经将一个单独的hdd挂载到/mnt/temp,并将datadir更改为指向此。我在apparmor中添加了正确的设置,并与mysql一起工作了几个小时。在将performance_schema添加到my.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。
有什么建议吗?
发布于 2016-07-06 20:57:56
如果您想将数据目录重新定位到MySQL中(在本例中是/data/directory),并且AppArmor不允许您这样做,那么在/etc/apparmor.d/local/usr.sbin.mysqld的底部添加以下两行:
/data/ r,
/data/** rwk, 然后...and重新加载AppArmor配置文件:
sudo service apparmor reload 发布于 2017-09-26 00:17:50
我也遇到了同样的问题,并且可能认为这是所有权的问题(这也给了我关于AppArmor问题的错觉)。
也许您可以尝试这样做(如果/var/lib/mysql与您的不匹配,请更改它):
sudo chown -R mysql /var/lib/mysql
sudo chgrp -R mysql /var/lib/mysql作为说明,MySQL的用户和组ID自较早的Ubuntu发布以来发生了变化。以前的用户ID和组ID现在看起来是hplip和pulse-access。因为数据目录对于我来说是一个挂载绑定(在另一个分区上),所以它仍然有这些以前的ID,其分配改变了。
https://askubuntu.com/questions/758898
复制相似问题