發(fā)現(xiàn)網(wǎng)上的方法都不能成功婆咸,有一些permission的問題∥咴可能是SELinux造成的尚骄。
嘗試使用mv和ln的方法
service mysqld stop
mv /var/lib/mysql/* /home/data/mysql/ #移動(dòng)數(shù)據(jù)
ln -s /home/data/mysql/ /var/lib/mysql/ #創(chuàng)建軟連接
service mysqld start #啟動(dòng)mysql
然而結(jié)果是
[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/
在另一臺(tái)正常安裝mysql的機(jī)器上嘗試:
[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
查到一篇文章CHANGE THE DEFAULT MYSQL DATA DIRECTORY WITH SELINUX ENABLED,但是我懶得了侵续,我要用暴力方法倔丈。
關(guān)閉SELinux:
1、快速關(guān)閉SElinux状蜗,使用如下命令就可以:
/usr/sbin/setenforce 0 立刻關(guān)閉 SELINUX
/usr/sbin/setenforce 1 立刻啟用 SELINUX
2需五、加到系統(tǒng)默認(rèn)啟動(dòng)里面
echo "/usr/sbin/setenforce 0" >> /etc/rc.local
3、可以編輯配置文件達(dá)到同樣的目的
vi /etc/selinux/conf
set SELINUX=disabled