问题描述
mysql8安装后数据默认存储路径/var/lib/mysql,修改默认存储路径后遇到如下报错:
SELinux is preventing /usr/libexec/mysqld from write access on the directory mysql. For complete SELinux messages run: sealert -l 233b1c8f-ef7>
网上做法
- 关闭selinux。并不是很明智的做法,会引发潜在的安全问题
- 完全复制默认安装路径下的文件及权限,保持与默认安装一致。尝试过,以失败告终,但并不代表此方法无效,只是我没有成功。具体可以查看 https://blog.csdn.net/bb807777/article/details/108282433
我的做法
使用chcon命令为mysql数据目录设置selinux权限,并启动mysql,发现启动成功:
chcon -R -t mysqld_db_t /home/mysql
是因为:
mysqld_db_t 这种文件类型用于标记MySQL数据库数据文件;
在