最新消息:走过的,离开的,已经错过,新开始2016

解决Ubuntu 修改MySQL datadir后无法启动

技术随笔 果果 116浏览 0评论


今天测试环境,新装Ubuntu server 22.04 ,apt-get 安装 mysql-server-8.0,无意外,正常启动。
挂载新硬盘,修改MySQL配置文件。

/etc/mysql/mysql.conf.d/mysqld.cnf

停止MySQL, cp -a原来MySQL的数据文件到新挂在的目录 /data/mysql

service mysql start

无法启动。

查了错误日志,提示一个文件无法创建。

Can't create test file /data/mysql/mysqld_tmp_file_case_insensitive_test.lower-test

journalctl -xe

查看错误。

AVC apparmor="DENIED" operation="mknod" profile="/usr/sbin/mysqld" name="/data/mysql/mysqld_tmp_file_case_insensitive_test.lower-test" pid=3105 comm="mysqld" requested_mas


检测新目录的文件属组,重新chown -R mysql:mysql mysql 没有解决。

下面记录解决方法:
Ubuntu 上面存在一个叫apparmor的安全软件,管理着软件的读写权限,
打开配置文件

/etc/apparmor.d/usr.sbin.mysqld

可以看到里面有Allow data dir access 的配置
在下面加上新目录

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

重启

service apparmor restart
service mysql start

一切正常。

发现自己在2014年已经踩过这个坑了,现在是健忘啊。
ubuntu 修改mysql 数据储存路径

转载请注明:果果.IT » 解决Ubuntu 修改MySQL datadir后无法启动

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址