CentOS7使用SELinux修改MySQL的Datadir路径,有一些permission的问题。可能是SELinux造成的。 service mysqld stop mv /var/lib/mysql/* /home/data/mysql/ #移动数据 ln -s /home/data/mysql/ /var/lib/mysql/ #创建软连接 service mysqld start #启动mysql 然而结果是 [root@slave02 lib]# service mysqld start Redirecting to /bin/systemctl start mysqld.service ....... #一直停在这里 在长久的等待后 [root@slave02 lib]# service mysqld start Redirecting to /bin/systemctl start mysqld.service Job for mysqld.service failed because a timeout was exceeded. See "systemctl status mysqld.service" and "journalctl -xe" for details. selinux [root@slave02 lib]# getenforce Enforcing [root@slave02 lib]# ls -Zl /var/lib/mysql lrwxrwxrwx. 1 unconfined_u:object_r:mysqld_db_t:s0 mysql mysql 17 Mar 3 14:27 /var/lib/mysql -> /home/data/mysql/ 在另一台正常安装mysql的机器上尝试: [root@slave01 lib]# ls -Zl /var/lib/mysql total 110604 -rw-rw----. 1 system_u:object_r:mysqld_db_t:s0 mysql mysql 56 Mar 3 14:27 auto.cnf -rw-rw----. 1 system_u:object_r:mysqld_db_t:s0 mysql mysql 12582912 Mar 3 14:27 ibdata1 -rw-rw----. 1 system_u:object_r:mysqld_db_t:s0 mysql mysql 50331648 Mar 3 14:27 ib_logfile0 -rw-rw----. 1 system_u:object_r:mysqld_db_t:s0 mysql mysql 50331648 Mar 3 14:26 ib_logfile1 drwx------. 2 system_u:object_r:mysqld_db_t:s0 mysql mysql 4096 Mar 3 14:26 mysql srwxrwxrwx. 1 system_u:object_r:mysqld_var_run_t:s0 mysql mysql 0 Mar 3 14:27 mysql.sock drwx------. 2 system_u:object_r:mysqld_db_t:s0 mysql mysql 4096 Mar 3 14:26 performance_schema 但是我懒得了,我要用暴力方法。 关闭SELinux: 1、快速关闭SElinux,使用如下命令就可以: /usr/sbin/setenforce 0 立刻关闭 SELINUX /usr/sbin/setenforce 1 立刻启用 SELINUX 2、加到系统默认启动里面 echo "/usr/sbin/setenforce 0" >> /etc/rc.local 3、可以编辑配置文件达到同样的目的 vi /etc/selinux/conf set SELINUX=disabled(责任编辑:好模板) |