Ubuntu 20.04 - 停止 MySQL。现在它无法启动(错误13,权限被拒绝)

use*_*421 2 mysql permissions ubuntu-20.04

在 Ubuntu 20.04 上运行 DigitalOcean LAMP Stack (1GB VPS) 时,我在上传媒体文件时在 Wordpress 中遇到间歇性的“建立数据库连接错误”错误。这引发了以下 Apache 错误:

\n

WordPress database error MySQL server has gone away for query...

\n

发生此问题时,MySQL 日志重复打印以下内容,此后不再打印其他内容:

\n
    2020-12-19T12:14:43.708558Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.\n    2020-12-19T12:14:43.992793Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: \'8.0.22-0ubuntu0.20.04.3\'  socket: \'/var/run/mysqld/mysqld.sock\'  port: 3306  (Ubuntu).\n    2020-12-19T12:14:59.498001Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.22-0ubuntu0.20.04.3) starting as process 190645\n    2020-12-19T12:14:59.512933Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.\n    2020-12-19T12:15:00.093514Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.\n    2020-12-19T12:15:00.448326Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: \'127.0.0.1\' port: 33060, socket: /var/run/mysqld/mysqlx.sock\n    2020-12-19T12:15:00.524531Z 0 [System] [MY-010229] [Server] Starting XA crash recovery...\n    2020-12-19T12:15:00.543848Z 0 [System] [MY-010232] [Server] XA crash recovery finished.\n    2020-12-19T12:15:00.652394Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.\n
Run Code Online (Sandbox Code Playgroud)\n

我尝试了此修复:WordPress 数据库错误 MySQL 服务器已消失进行查询

\n

网站仍然显示错误,所以我想我应该重新启动 MySQL,但它不会重新启动。

\n

有了sudo service MySQL start,我得到

\n

Job for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.

\n

运行第一个命令:

\n
\xe2\x97\x8f mysql.service - MySQL Community Server\n Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)\n Active: failed (Result: exit-code) since Sat 2020-12-19 12:45:50 UTC; 1min 3s ago\nProcess: 192068 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)\nProcess: 192076 ExecStart=/usr/sbin/mysqld (code=exited, status=1/FAILURE)\nMain PID: 192076 (code=exited, status=1/FAILURE)\n Status: "Server startup in progress"\n  Error: 13 (Permission denied)\n
Run Code Online (Sandbox Code Playgroud)\n

运行第二个命令

\n
 Hint: You are currently not seeing messages from other users and the system.\n  Users in groups \'adm\', \'systemd-journal\' can see all messages.\n  Pass -q to turn off this notice.\n -- Defined-By: systems\n -- Support: http://www.ubuntu.com/support\n --\n -- A start job for unit UNIT has finished successfully.\n --\n -- The job identifier is 8.\n Dec 19 12:13:48 server systemd[189372]: Listening on REST API socket for snapd user session agent.\n -- Subject: A start job for unit UNIT has finished successfully\n -- Defined-By: systems\n -- Support: http://www.ubuntu.com/support\n --\n -- A start job for unit UNIT has finished successfully.\n --\n -- The job identifier is 11.\n Dec 19 12:13:48 server systemd[189372]: Listening on D-Bus User Message Bus Socket.\n -- Subject: A start job for unit UNIT has finished successfully\n -- Defined-By: systems\n -- Support: http://www.ubuntu.com/support\n --\n -- A start job for unit UNIT has finished successfully.\n --\n -- The job identifier is 9.\n Dec 19 12:13:48 server systemd[189372]: Reached target Sockets.\n -- Subject: A start job for unit UNIT has finished successfully\n -- Defined-By: systems\n -- Support: http://www.ubuntu.com/support\n --\n -- A start job for unit UNIT has finished successfully.\n --\n -- The job identifier is 5.\n Dec 19 12:13:48 server systemd[189372]: Reached target Basic System.\n -- Subject: A start job for unit UNIT has finished successfully\n -- Defined-By: systems\n -- Support: http://www.ubuntu.com/support\n --\n -- A start job for unit UNIT has finished successfully.\n --\n -- The job identifier is 2.\n Dec 19 12:13:48 server systemd[189372]: Reached target Main User Target.\n -- Subject: A start job for unit UNIT has finished successfully\n -- Defined-By: systems\n -- Support: http://www.ubuntu.com/support\n --\n -- A start job for unit UNIT has finished successfully.\n --\n -- The job identifier is 1.\n Dec 19 12:13:48 server systemd[189372]: Startup finished in 168ms.\n -- Subject: User manager start-up is now complete\n -- Defined-By: systems\n -- Support: http://www.ubuntu.com/support\n --\n -- The user manager instance for user 1000 has been started. All services queued\n -- for starting have been started. Note that other services might still be starting\n -- up or be started at any later time.\n --\n -- Startup of the manager took 168965 microseconds.\n Dec 19 12:15:07 server sudo[190726]: pam_unix(sudo:auth): Couldn\'t open /etc/securetty: No such file or directory\n Dec 19 12:15:09 server sudo[190726]: pam_unix(sudo:auth): Couldn\'t open /etc/securetty: No such file or directory\n Dec 19 12:30:17 server sudo[191518]: pam_unix(sudo:auth): Couldn\'t open /etc/securetty: No such file or directory\n Dec 19 12:30:19 server sudo[191518]: pam_unix(sudo:auth): Couldn\'t open /etc/securetty: No such file or directory\n Dec 19 12:32:25 server sudo[191686]: pam_unix(sudo:auth): Couldn\'t open /etc/securetty: No such file or directory\n Dec 19 12:32:27 server sudo[191686]: pam_unix(sudo:auth): Couldn\'t open /etc/securetty: No such file or directory\n
Run Code Online (Sandbox Code Playgroud)\n

第一个错误导致我这样做: https: //askubuntu.com/questions/1228827/mysql-error-13-permission-denied

\n

然而MySQL已经拥有/var/lib/mysql。/usr/sbin/mysqld 的所有者是 root。这与 MySQL 运行良好的另一台服务器上的情况相同。我真的应该改变这个吗?

\n

use*_*421 9

问题是我已授予我的用户/var/log/mysql读取文件的所有权。sudo chown mysql:mysql -R /var/log/mysql允许我启动mysql