1、修改了数据库datadir,然后数据库就无法启动了,错误如下:
2020-12-03 16:22:57 26309 [Warning] Can't create test file /data/mysql/server2.lower-test
2020-12-03 16:22:57 26309 [Warning] Can't create test file /data/mysql/server2.lower-test
2020-12-03 16:22:57 26309 [Warning] Buffered warning: Changed limits: max_open_files: 1024 (requested 5000)
2020-12-03 16:22:57 26309 [Warning] Buffered warning: Changed limits: table_cache: 431 (requested 2000)
2020-12-03 16:22:57 26309 [Note] Plugin 'FEDERATED' is disabled.
^G/usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13 - Permission denied)
2020-12-03 16:22:57 26309 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
2、 chown和chmod 新数据目录或者其父路径的权限,还是报错
原因:apparmor不仅仅限制了mysql的datadir目录,还限制了config,log等等的目录。
3、解决:
-
关闭selinux:
setenforce 0(暂时关闭) vim /etc/selinux/config SELINUX=disabled (永久关闭) reboot
-
修改 apparmor
在 /etc/apparmor.d/usr.sbin.mysqld 这个文件中,有这两行,规定了mysql使用的数据文件路径权限/var/lib/mysql/ r, /var/lib/mysql/** rwk, 新增你对应路径的两条 /app/lib/mysql/ r, /app/lib/mysql/** rwk,
-
重启: sudo service apparmor restart