mysqld 无法在没有任何信息的情况下启动,这是我得到的唯一信息是“正在启动 MySQL 数据库服务器:mysqld”。. . . . . . . . . . . . . 失败的!'。
我编辑了 my.cnf 文件以启用 /var/log/mysql/mysql.log 上的日志记录,但它显然不想记录任何内容。
所以我什么都不知道。我知道有很多类似的问题,但在大多数情况下,人们能够从日志文件中了解更多信息。
顺便说一句,它是在系统异常关闭后发生的。
更新 1:在 my.cnf 文件中,我可以看到这样一行: Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf。
当我打开文件时,我可以看到:[mysqld_safe] syslog
这是什么意思?如何查看错误日志?
更新 2:当我执行 mysqlcheck -u root -p --all-databases 时
我收到“出现错误:2002:尝试连接时无法通过套接字 '/var/run/mysqld/mysqld.sock' (2) 连接到本地 MySQL 服务器”
更新 3:好的,现在我知道系统日志是什么了:) 它说:无法启动服务器:在 unix 套接字上绑定:设备上没有剩余空间 所以现在我有最后一个问题 - 在哪个设备上?
答案是 MySQL 无法写入您指向的目录
my.cnf
,并且它没有正确的权限。要解决此问题,请确保用户 MySQL 对my.cnf
指向的目录具有所有者权限,例如,假设base_dir
位于/MySQL
,data_dir
位于/MySQL/data
,套接字位于/tmp
此示例中,您需要确保/MySQL
并由/MySQL/data
MySQL 用户拥有,/tmp
因为它是 Linux 用户 MySQL 的默认目录,应该具有读、写和执行权限。您还需要确保包含的分区data_dir
未满“包含足够的可用空间”