今天修改Mysql数据库的数据存放路径,修改完后,启动数据库提示Timeout error occurred trying to start MySQL Daemon 错误,网上搜了一大顿,没找到最终原因,最后查看日志,确定为Selinux问题。
setenforce 0 再次重启好了。
你可以关掉selinux,也可以更改安全上下文来解决。
[root@dot5 ~]# chcon -R system_u:object_r:mysqld_db_t /mysqldb/
[root@dot5 ~]# ll -dZ /mysqldb/
drwxr-xr-x root root system_u:object_r:mysqld_db_t /mysqldb/
[root@dot5 ~]# ll -dZ /mysqldb/mysql/
drwxr-xr-x mysql mysql system_u:object_r:mysqld_db_t /mysqldb/mysql/
[root@dot5 ~]# service mysqld start
启动 MySQL: [确定]
[root@dot5 ~]#
其次,出现此问题的原因还有文件夹的权限问题,必须mysql 用户及mysql组对其数据路径文件夹拥有权限。
[root@dot5 ~]# mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
[root@dot5 ~]# vi /etc/my.cnf
[mysqld]
datadir=/mysqldb/mysql
socket=/mysqldb/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
# symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
#刚才没添加以下代码,出现以上错误。
[client]
#password = your_password
socket=/mysqldb/mysql/mysql.sock
可以从/usr/share/mysql下根据实际情况拷贝一个my.cnf到/etc下,加以配置。
记得修改mysql的启动脚本/etc/init.d/mysql
原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/201.html