SELinux
MySQL配置文件中修改了datadir后无法启动, log大致为
Can't create test file /datadir/boxy.lower-test
很确定没有权限问题, 最后发现是selinux的问题, 自然不能关掉它。
datadir为修改后的数据目录,新建一条规则,指定/datadir目录及其下的所有文件的扩展属性为mysqld_db_t, 此外还有mysqld_log_t、mysqld_etc_t、mysqld_port_t这样
#semanage fcontext -a -t mysqld_db_t "/datadir(/.*)?"
#restorecon -Rv /datadir
这里可能需要重启, 貌似还有个即时生效的命令chcon, 未深究.
Client Sock
如果同时修改了sock的目录, 想要本机客户端命令正常工作, 需要在客户端配置文件标签(标签已列出)中同时加上
[client]
socket=/xxxxx
[client-mariadb]
socket=/xxxxx
[mysql]
socket=/xxxxx
[mysql_upgrade]
socket=/xxxxx
[mysqladmin]
socket=/xxxxx
[mysqlbinlog]
socket=/xxxxx
[mysqlcheck]
socket=/xxxxx
[mysqldump]
socket=/xxxxx
[mysqlimport]
socket=/xxxxx
[mysqlshow]
socket=/xxxxx
[mysqlslap]
socket=/xxxxx
如果还有一些命令工作不正常(如mysql_secure_installation), 可在命令后加-S /xx/xxxxx.sock
结束
参考