我在 Ubuntu 20.04 上运行 MySQL 8,自从我运行命令以来
sudo 服务 mysql 重启
我在终端收到此信息:
Job for mysql.service failed because the control process exited with error code.
See "systemctl status mysql.service" and "journalctl -xe" for details.
现在我运行 systemctl status mysql.server 并得到:
mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sun 2021-04-18 20:27:01 UTC; 36s ago
Process: 1133 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCC>
Process: 1141 ExecStart=/usr/sbin/mysqld (code=exited, status=1/FAILURE)
Main PID: 1141 (code=exited, status=1/FAILURE)
Status: "Server startup in progress"
Error: 13 (Permission denied)
为什么不重新启动?我创建的每个 Ubuntu 实例上都会发生这种情况。我也在 Digital Ocean 上。
** /var/log/mysql/ 中的错误日志为空 **
答案1
当 MySQL 用户帐户无法读取 MySQL 数据目录时,就会发生此类错误。如果您移动了数据目录或从其他安装中复制了 MySQL 数据库文件,则需要更新权限,如下所示:
sudo chown -R mysql:mysql /var/lib/mysql
/var/lib/mysql
如果您已将系统配置为使用不同的目录,请确保将其替换为 MySQL 数据文件的正确位置。