Rootop 服务器运维与web架构

Timeout error occurred trying to start MySQL Daemon

| 暂无评论

      今天修改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

作者:Venus

服务器运维与性能优化

发表回复