繁体   English   中英

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

[英]Ubuntu 20.04 - Stopped MySQL. Now it won't start (error 13, permission denied)

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

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

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

    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.
    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).
    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
    2020-12-19T12:14:59.512933Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
    2020-12-19T12:15:00.093514Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
    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
    2020-12-19T12:15:00.524531Z 0 [System] [MY-010229] [Server] Starting XA crash recovery...
    2020-12-19T12:15:00.543848Z 0 [System] [MY-010232] [Server] XA crash recovery finished.
    2020-12-19T12:15:00.652394Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.

我试过这个修复: WordPress 数据库错误 MySQL 服务器已经离开查询

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

随着sudo service MySQL start ,我得到

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

运行第一个命令:

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

运行第二个命令

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

第一个错误让我想到了这个: https://askubuntu.com/questions/1228827/mysql-error-13-permission-denied

然而 MySQL 已经拥有 /var/lib/mysql。 /usr/sbin/mysqld 的所有者是 root。 这与 MySQL 工作正常的另一台服务器相同。 我真的应该改变这个吗?

问题是我已经让我的用户拥有 /var/log/mysql 来读取文件。 sudo chown mysql:mysql -R /var/log/mysql允许我启动 mysql。

简单运行更新命令
apt-get 更新
apt-get 升级
它会自动更新 mysql 所需的权限。
它解决了我的问题

Had the same issue system status mysql Main PID: 178577 (code=exited, status=1/FAILURE) Status: "Server startup in progress" Error: 13 (Permission denied) solution for me chown mysql:mysql -R /var/lib/mysql/ /var/log/mysql/启动正常

如果您手动删除binlog文件,也可能会发生这种情况。 检查/var/log/mysql/error.log以及问题是否与最后一个 binlog 文件有关。 在这种情况下,清除文件/var/lib/mysql/binlog.index的内容然后重新启动 mysql 对我有帮助。

我也遇到了同样的问题。 我将 mysql 数据目录从/var/lib/mysql移动到/media/anand/databank/mysql 我将所有读写权限授予所有用户/组,但 mysql 服务器无法重新启动, Error: 13 (Permission denied) 在反复阅读这个和其他线程之后,我可以弄清楚文件夹anand没有授予其他人(包括用户 mysql)的访问权限。 因此,即使用户(在我的例子中是 mysql)具有对mysql文件夹的完全访问权限,但在该用户获得访问anand文件夹的权限之前,该用户不会访问mysql文件夹。 有一次,我在 foledr anand上授予 mysql 用户只读权限,mysql 服务器启动无误。

简而言之,如果您授予用户对某个文件夹的权限。 请检查此类用户是否至少对所有父文件夹具有只读/访问文件权限

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM