当我尝试通过systemctl start mysqld.service启动Fedora上的Mysql时,它将无限期地挂起,永远不会启动。 运行mysqld_safe --skip-grant-tables &或者mysqld_safe --nowatch --basedir=/usr启动服务器就好了,表示数据库还在,但是使用service或者systemctl根本不起作用。 在/var/log/mysqld.log没有显示任何内容。 然而,`/ var / log / messages显示了成千上万的消息:
Oct 29 15:55:52 myserver systemd[1]: mysqld.service holdoff time over, scheduling restart. Oct 29 15:55:52 myserver systemd[1]: Job pending for unit, delaying automatic restart.
如何诊断出现问题并启动MySQL?
mysqld和mysqld_safe是configuration文件的不同“解释”的不同的二进制文件。 检查此链接了解更多信息。 最常见的情况是,my.cnf值之一不合适,导致mysqld.service无法启动,但此configuration值被mysqld_safe忽略。
你也可以尝试运行:
mysqld --help --verbose
来诊断可能不会logging到常规日志中的启动问题。
在my.cnf中,可以为每个“解释”指定命令
所以你可以有
[MySQL的]
端口= 3309的[mysqld]
端口= 3309[中mysqladmin]
[端口= 3309]
只要使用每个二进制文件的默认文件,3个二进制文件中的任何一个都将连接到tcp / 3309
这种types的不匹配有时会发生,而且很烦人
我不知道最初的原因或底层问题是什么,但重新安装mysql包,然后重新启动修复它。
yum reinstall mysql mysql-server reboot