尝试启动 MySQL 服务器时,服务器在没有 运行 PID 文件的情况下退出?
Server quit without running PID file when trying to start MySQL server?
所以我创建了我的 .bash_profile,在文本编辑器中打开它并添加:
export PATH=$PATH:/usr/local/mysql/bin
然后我保存了它。接下来,我尝试了 运行
sudo /usr/local/mysql/support-files/mysql.server start
被告知输入我的密码(所以我输入了),然后终端说
Starting MySQL
然后它一直打印点直到它说:
ERROR! The server quit without updating PID file (/usr/local/mysql/data/Nicks-MacBook-Pro.local.pid).
错误日志如下所示:
2021-01-25T20:50:49.707062Z 0 [System] [MY-010116] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.23) starting as process 15092
2021-01-25T20:50:49.710232Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /usr/local/mysql/data/ is case insensitive
2021-01-25T20:50:49.834599Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2021-01-25T20:50:49.943719Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2021-01-25T20:50:50.037810Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /tmp/mysqlx.sock
2021-01-25T20:50:50.125494Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2021-01-25T20:50:50.126128Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2021-01-25T20:50:50.151069Z 0 [System] [MY-010931] [Server] /usr/local/mysql/bin/mysqld: ready for connections. Version: '8.0.23' socket: '/tmp/mysql.sock' port: 3306 MySQL Community Server - GPL.
~
~
~
~
~
(END)
我该如何解决这个问题?
您应该在执行每个步骤后尝试重新启动 MySQL 服务以检查错误是否已解决。
但首先,在对 MySQL 服务进行任何更改之前,对 MySQL 数据目录 /var/lib/mysql/ 进行完整备份。
- 以 root 用户身份通过 SSH 连接到您的服务器并手动重新启动 MySQL。有时重新启动 MySQL 服务器可能会解决此问题。您可以使用以下任一命令重新启动 MySQL 服务器。
/etc/init.d/mysql 重启
或
服务mysql重启
- 您需要检查 MySQL 服务是否已经 运行ning。如果 MySQL 服务已经 运行ning,你将不得不杀死它们并重新开始。使用以下命令检查是否已经有 MySQL 服务 运行ning.
ps-辅助 | grep -i mysql
如果 MySQL 服务已经 运行ning,您将获得具有 PID 的 MySQL 进程列表。 PID 是 MySQL 个进程的进程 ID。您将不得不终止这些进程。
kill -9 PID
PID – MySQL 进程的进程 ID。
- 检查 MySQL 数据目录 /var/lib/mysql/ 的所有权。使用以下命令检查 MySQL 服务
的所有权
ll -aF /var/lib/mysql/
如果它的所有者是 root,您应该使用以下命令将所有权更改为 MySQL 或您的用户。
chown -R mysql /var/lib/mysql/
- 备份 mysql.sock 文件并将其删除。为此,请使用以下命令:
cp /var/lib/mysql.sock /var/lib/mysql.sock_bkp
rm -rf /var/lib/mysql.sock
- 删除MySQL 配置文件/etc/my.cnf 或暂时备份并重新启动:
mv /etc/my.cnf /etc/my.cnf.bak
- 删除 MySQL 数据目录 /var/lib/mysql/ 中名为 ib_logfile 的日志文件,或者现在就备份它并重新启动 MySQL 服务。有时 MySQL 服务在更新日志文件时遇到困难时无法启动。重新启动 MySQL 服务后,将自动创建日志文件。使用以下命令删除日志文件并备份。
将当前工作目录更改为 MySQL 数据目录。
cd /var/lib/mysql
通过重命名备份和删除日志文件。
mv ib_logfile0 ib_logfile0.bak
mv ib_logfile1 ib_logfile1.bak
将备份ps移动到临时位置。
mv /var/lib/mysql/ib_logfile* /tmp/folder/
- 在MySQL数据目录/var/lib/mysql/中找到后缀为“.err”的日志文件。这些文件包含实际的错误消息。您可以使用任何编辑器或命令(如 cat,less)从日志文件中读取错误消息。
猫/var/lib/mysql/yourservername.err
在许多情况下,MySQL 将在删除此错误文件后很快 运行。
rm -rf /var/lib/mysql/yourservername.err
所以我创建了我的 .bash_profile,在文本编辑器中打开它并添加:
export PATH=$PATH:/usr/local/mysql/bin
然后我保存了它。接下来,我尝试了 运行
sudo /usr/local/mysql/support-files/mysql.server start
被告知输入我的密码(所以我输入了),然后终端说
Starting MySQL
然后它一直打印点直到它说:
ERROR! The server quit without updating PID file (/usr/local/mysql/data/Nicks-MacBook-Pro.local.pid).
错误日志如下所示:
2021-01-25T20:50:49.707062Z 0 [System] [MY-010116] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.23) starting as process 15092
2021-01-25T20:50:49.710232Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /usr/local/mysql/data/ is case insensitive
2021-01-25T20:50:49.834599Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2021-01-25T20:50:49.943719Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2021-01-25T20:50:50.037810Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /tmp/mysqlx.sock
2021-01-25T20:50:50.125494Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2021-01-25T20:50:50.126128Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2021-01-25T20:50:50.151069Z 0 [System] [MY-010931] [Server] /usr/local/mysql/bin/mysqld: ready for connections. Version: '8.0.23' socket: '/tmp/mysql.sock' port: 3306 MySQL Community Server - GPL.
~
~
~
~
~
(END)
我该如何解决这个问题?
您应该在执行每个步骤后尝试重新启动 MySQL 服务以检查错误是否已解决。 但首先,在对 MySQL 服务进行任何更改之前,对 MySQL 数据目录 /var/lib/mysql/ 进行完整备份。
- 以 root 用户身份通过 SSH 连接到您的服务器并手动重新启动 MySQL。有时重新启动 MySQL 服务器可能会解决此问题。您可以使用以下任一命令重新启动 MySQL 服务器。
/etc/init.d/mysql 重启
或
服务mysql重启
- 您需要检查 MySQL 服务是否已经 运行ning。如果 MySQL 服务已经 运行ning,你将不得不杀死它们并重新开始。使用以下命令检查是否已经有 MySQL 服务 运行ning.
ps-辅助 | grep -i mysql
如果 MySQL 服务已经 运行ning,您将获得具有 PID 的 MySQL 进程列表。 PID 是 MySQL 个进程的进程 ID。您将不得不终止这些进程。
kill -9 PID
PID – MySQL 进程的进程 ID。
- 检查 MySQL 数据目录 /var/lib/mysql/ 的所有权。使用以下命令检查 MySQL 服务 的所有权
ll -aF /var/lib/mysql/
如果它的所有者是 root,您应该使用以下命令将所有权更改为 MySQL 或您的用户。
chown -R mysql /var/lib/mysql/
- 备份 mysql.sock 文件并将其删除。为此,请使用以下命令:
cp /var/lib/mysql.sock /var/lib/mysql.sock_bkp
rm -rf /var/lib/mysql.sock
- 删除MySQL 配置文件/etc/my.cnf 或暂时备份并重新启动:
mv /etc/my.cnf /etc/my.cnf.bak
- 删除 MySQL 数据目录 /var/lib/mysql/ 中名为 ib_logfile 的日志文件,或者现在就备份它并重新启动 MySQL 服务。有时 MySQL 服务在更新日志文件时遇到困难时无法启动。重新启动 MySQL 服务后,将自动创建日志文件。使用以下命令删除日志文件并备份。
将当前工作目录更改为 MySQL 数据目录。
cd /var/lib/mysql
通过重命名备份和删除日志文件。
mv ib_logfile0 ib_logfile0.bak
mv ib_logfile1 ib_logfile1.bak
将备份ps移动到临时位置。
mv /var/lib/mysql/ib_logfile* /tmp/folder/
- 在MySQL数据目录/var/lib/mysql/中找到后缀为“.err”的日志文件。这些文件包含实际的错误消息。您可以使用任何编辑器或命令(如 cat,less)从日志文件中读取错误消息。
猫/var/lib/mysql/yourservername.err
在许多情况下,MySQL 将在删除此错误文件后很快 运行。