mysqld.service 的作业在 Centos 7 中失败

Job for mysqld.service failed in Centos 7

OS:Centos 7 Linux 3.10.0-229.el7.x86_64

MySQL: mysql57-community-release-el7-7.noarch.rpm

我通过 yum 安装了 MySQL 服务器。当我 运行 systemctl start mysqld 我得到以下错误

mysqld.service 的作业失败。有关详细信息,请参阅 'systemctl status mysqld.service' 和 'journalctl -xn'。

systemctl 状态 mysqld.service

MySQL Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled) 
Active: failed (Result: start-limit) since Sun 2015-12-06 03:14:54 GMT;
4min 7s ago Process: 6992 ExecStart=/usr/sbin/mysqld
--daemonize $MYSQLD_OPTS (code=exited, status=1/FAILURE) Process: 6971 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited,
status=0/SUCCESS) 
Dec 06 03:14:54 localhost.localdomain systemd[1]: mysqld.service: control process exited, code=exited status=1 
Dec 06 03:14:54 localhost.localdomain systemd[1]: Failed to start MySQL Server. 
Dec 06 03:14:54 localhost.localdomain systemd[1]: Unit  mysqld.service entered failed state. 
Dec 06 03:14:54 localhost.localdomain systemd[1]: mysqld.service holdoff time over, scheduling restart. 
Dec 06 03:14:54 localhost.localdomain systemd[1]: Stopping MySQL Server... 
Dec 06 03:14:54 localhost.localdomain systemd[1]: Starting MySQL Server...   
Dec 06 03:14:54 localhost.localdomain systemd[1]: mysqld.service start request repeated too quickly, refusing to start. 
Dec 06 03:14:54 localhost.localdomain systemd[1]: Failed to start MySQL Server. 
Dec 06 03:14:54 localhost.localdomain systemd[1]: Unit mysqld.service entered failed state. The journal command reads Failed to start MySQL Server

知道我还应该看什么吗?

检查以下内容以解决问题

  1. 使用以下命令检查 mysql 数据目录的权限。所有权应为 mysql:mysql,目录权限应为 [​​=16=]

    ls -ld /var/lib/mysql/
    
  2. 使用以下命令检查 mysql 数据目录中数据库的权限。该目录中所有文件的所有权应为 mysql:mysql

    ls -lh /var/lib/mysql/
    
  3. 使用以下命令检查侦听网络 tcp 端口

    netstat -ntlp
    
  4. 使用以下命令检查 mysql 日志文件是否有任何错误。

    cat /var/log/mysql/mysqld.log
    
  5. 尝试使用以下命令启动mysql

    mysqld_safe --defaults-file=/etc/my.cf
    

对我来说,上面的答案没有帮助,所以这是我的解决方案。

找出打开的mysqld进程

ps -ef | grep mysqld

并杀死所有这些进程

pkill -9 mysqld

最后使用

同样启动它

systemctl start mariadb

问题已解决....