我无法启动mysql
和mysqld
。
命令的输出sudo service mysql start
是mysql : Unrecognized service
同样的方式输出什么sudo service mysqld start
都没有
当我尝试时sudo service mysqld status
它说stopped
我经历了/var/log/mysql.log
发现这个错误:
2015-10-20 08:00:54 23694 [Note] InnoDB: 128 rollback segment(s) are active.
2015-10-20 08:00:54 23694 [Note] InnoDB: Waiting for purge to start
2015-10-20 08:00:54 23694 [Note] InnoDB: 5.6.21 started; log sequence number 1600607
2015-10-20 08:00:54 23694 [Note] Server hostname (bind-address): '*'; port: 3306
2015-10-20 08:00:54 23694 [Note] IPv6 is available.
2015-10-20 08:00:54 23694 [Note] - '::' resolves to '::';
2015-10-20 08:00:54 23694 [Note] Server socket created on IP: '::'.
2015-10-20 08:00:54 23694 [ERROR] /usr/local/mysql/bin/mysqld: Can't create/write to fie '/var/run/mysqld/mysqld.pid' (Errcode: 2 - No such file or directory)
2015-10-20 08:00:54 23694 [ERROR] Can't start server: can't create PID file: No such fie or directory
151020 08:00:54 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
为此,我在网上查找并试图修复据称是权限问题,所以我创建了修复此错误的方法,/var/run/mysqld
并且mysql.pid
我执行了chown
目录mysql:mysql
但问题仍然存在。有人能帮我解决这个问题吗?
谢谢
答案1
首先,在这种情况下添加有关正在使用的 Linux 风格的信息会很有帮助。命令:“lsb_release -a”或检查 /etc/redhat-release 和 /etc/debian_version 将提供与所讨论的操作系统相关的更多详细信息。
无法写入文件可能是错误来自:权限(ACL)如果目录的所有权 + 文件模式正确:使用命令“stat /var/run/mysqld”检查(以文本“Access:”开头的行)
还要检查磁盘和i节点是否已满(使用df -H和df -iH)。
接下来检查日志文件 /var/log/syslog (debian/ubuntu) 或 /var/log/messages (redhat 系列) 不包含任何其他错误或 SELinux 消息。
SELinux 也可能拒绝写入:使用命令“getenforce”检查 SELinux 是否已启用
SELinux 消息也可能出现在 /var/log/audit/audit.log 中,请检查其中是否有任何被拒绝的消息:“grep denied /var/log/audit/audit.log”如果出现任何错误,请观看视频https://youtu.be/cNoVgDqqJmM有关 SELinux 使用的快速教程(特别是 audit2allow)如果您看到被拒绝的请求,您可以使用命令行查看原因:“grep denied /var/log/audit/audit.log | audit2allow -w”
这将解释所有 SELinux 生成的错误,并希望能帮助您解决问题。