首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当试图启动MySQL服务器时,服务器退出而不运行PID文件?

问当试图启动MySQL服务器时,服务器退出而不运行PID文件?
EN

Stack Overflow用户
提问于 2021-01-25 21:07:29
回答 1查看 394关注 0票数 0

因此,我创建了我的.bash_profile,在文本编辑器中打开它并添加:

代码语言:javascript
复制
export PATH=$PATH:/usr/local/mysql/bin

然后我救了它。接下来,我试着跑

代码语言:javascript
复制
sudo /usr/local/mysql/support-files/mysql.server start

被告知输入我的密码(我是这样做的),然后终端说

代码语言:javascript
复制
Starting MySQL 

然后它继续打印圆点,直到它说:

代码语言:javascript
复制
ERROR! The server quit without updating PID file (/usr/local/mysql/data/Nicks-MacBook-Pro.local.pid).

错误日志如下所示:

代码语言:javascript
复制
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)

我该怎么解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-31 15:30:00

在执行每一步之后,您应该尝试重新启动MySQL服务,以检查错误是否得到解决。但是,首先,在对MySQL服务进行任何更改之前,对MySQL数据目录/var/lib/mysql/进行完整备份。

  1. 通过SSH作为根用户连接到您的服务器,并手动重新启动MySQL。有时,重新启动MySQL服务器可能会修复此问题。可以使用以下任一命令重新启动MySQL服务器.

/etc/init.d/mysql重新启动

或

服务mysql重新启动

  1. 您需要检查MySQL服务是否已经在运行。如果MySQL服务已经在运行,您将不得不关闭它们并重新启动。使用下面的命令检查是否已经有MySQL服务在运行.

ps -aux \ grep -i mysql

如果MySQL服务已经在运行,您将得到带有PID的MySQL进程列表。PID是MySQL进程的进程ID。你将不得不扼杀这些过程。

杀灭-9 PID

PID - MySQL进程的进程ID .

  1. 检查MySQL数据目录/var/lib/mysql/的所有权。使用以下命令检查MySQL服务

的所有权

ll -aF /var/lib/mysql/

如果它的所有者是root用户,则应该使用以下命令将所有权更改为MySQL或您的用户。

-R mysql /var/lib/mysql/

  1. 对mysql.sock文件进行备份并删除它。为此,请使用以下命令:

cp /var/lib/mysql.sock /var/lib/mysql.sock_bkp

rm -rf /var/lib/mysql.sock

  1. 删除MySQL配置文件/etc/my.cnf,或者暂时备份,然后重新启动:

mv /etc/my.cnf /etc/my.cnf.bak

  1. 删除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

将备份移到临时位置。

mv /var/lib/mysql/ib_logfile* /tmp/文件夹

  1. 在MySQL数据目录/var/lib/mysql/中找到后缀为“.err”的日志文件。这些文件包含实际的错误消息。您可以使用像cat这样的任何编辑器或命令来读取日志文件中的错误消息。

cat /var/lib/mysql/yourserviname.err

在许多情况下,MySQL将在删除此错误文件后不久运行。

rm -rf /var/lib/mysql/yourserviname.err

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65892435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档