今天装了一个虚拟机,在服务器上装mysql 想把数据库目录改变一下修改完/etc/my.cnf 和/etc/init.d/mysqld
重启mysql 出现错误:
100725 23:09:50 mysqld ended
100725 23:22:44 mysqld started
100725 23:22:44 [Warning] Can’t create test file /Data/mysql_db/mysql/localhost.lower-test
100725 23:22:44 [Warning] Can’t create test file /Data/mysql_db/mysql/localhost.lower-test
/usr/libexec/mysqld: Can’t change dir to ‘/Data/mysql_db/mysql/’ (Errcode: 13)
100725 23:22:44 [ERROR] Aborting
100725 23:22:44 [Note] /usr/libexec/mysqld: Shutdown complete
看几遍配置没错呀,又看看权限也没错呀,为什么说没有权限而报错呢, 然后google了一下 原来是selinux问题
修改/etc/selinux/config
将 SELINUX=enforcing或permissive改成disabled
然后reboot
问题解决:)
另外修改my.cnf里面的数据库路径时,要加上
[mysql]
socket=/Data/mysql_db/mysql/mysql.sock
设定mysql的mysql.sock文件路径不然连接时会出
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
错误
相关:
什么是SELinux
也可以
使用setenforce 0关闭SELinux