Mysql

嘗試啟動 MySQL 伺服器時伺服器退出而不更新 PID 文件?

  • January 29, 2021

所以我創建了我的 .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)

ls -l /usr/local/mysql/data 的輸出是:

total 377992
-rw-rw----    1 _mysql  admin    196608 Jan 27 23:20 #ib_16384_0.dblwr
-rw-rw----    1 _mysql  admin   8585216 Jan 25 15:50 #ib_16384_1.dblwr
drwxrwx---   12 _mysql  admin       384 Jan 27 22:34 #innodb_temp
-rw-rw----    1 _mysql  admin    112320 Jan 28 19:07 Nicks-MacBook-Pro.local.err
-rw-rw----    1 _mysql  admin        56 Jan 25 15:50 auto.cnf
-rw-rw----    1 _mysql  admin       667 Jan 25 15:50 binlog.000001
-rw-rw----    1 _mysql  admin       528 Jan 27 22:54 binlog.000002
-rw-r-----    1 _mysql  admin       156 Jan 27 22:34 binlog.000003
-rw-r-----    1 _mysql  admin        48 Jan 27 22:34 binlog.index
-rw-rw----    1 _mysql  admin      1676 Jan 25 15:50 ca-key.pem
-rw-rw----    1 _mysql  admin      1112 Jan 25 15:50 ca.pem
-rw-rw----    1 _mysql  admin      1112 Jan 25 15:50 client-cert.pem
-rw-rw----    1 _mysql  admin      1676 Jan 25 15:50 client-key.pem
-rw-r-----    1 _mysql  admin      3372 Jan 27 22:54 ib_buffer_pool
-rw-rw----    1 _mysql  admin  50331648 Jan 27 23:20 ib_logfile0
-rw-rw----    1 _mysql  admin  50331648 Jan 25 15:50 ib_logfile1
-rw-rw----    1 _mysql  admin  12582912 Jan 27 22:35 ibdata1
-rw-r-----    1 _mysql  admin  12582912 Jan 27 22:35 ibtmp1
drwxrwx---    8 _mysql  admin       256 Jan 25 15:50 mysql
-rw-rw----    1 _mysql  admin  25165824 Jan 27 22:35 mysql.ibd
-rw-rw----    1 _mysql  admin      2481 Jan 27 22:34 mysqld.local.err
-rw-r-----    1 _mysql  admin         4 Jan 27 22:34 mysqld.local.pid
drwxrwx---  111 _mysql  admin      3552 Jan 25 15:50 performance_schema
-rw-rw----    1 _mysql  admin      1680 Jan 25 15:50 private_key.pem
-rw-rw----    1 _mysql  admin       452 Jan 25 15:50 public_key.pem
-rw-rw----    1 _mysql  admin      1112 Jan 25 15:50 server-cert.pem
-rw-rw----    1 _mysql  admin      1676 Jan 25 15:50 server-key.pem
drwxrwx---    3 _mysql  admin        96 Jan 25 15:50 sys
-rw-rw----    1 _mysql  admin  16777216 Jan 27 23:20 undo_001
-rw-rw----    1 _mysql  admin  16777216 Jan 25 15:50 undo_002

我該如何解決?

我認為問題可能是PID文件

有兩個我可以看到

目錄中的一個

/usr/local/mysql/data/mysqld.local.pid

和錯誤消息中的一個

/usr/local/mysql/data/Nicks-MacBook-Pro.local.pid

如果它們仍然存在,請刪除這兩個 pid 文件。

然後,啟動 mysql,讓我們知道會發生什麼。

我過去曾兩次建議過這個,4年前和6年前

在這樣做之前,請檢查以使 mysqld 未執行。

ps -ef | grep -v grep | grep mysqld

如果您看到 mysqld 仍在執行,請終止該程序,然後刪除 pid 文件並重新嘗試啟動 mysql。

更新 2021-01-29 15:56 EST

事實證明,在 Mac 上安裝了兩個 MySQL,正如在聊天會話中了解到的那樣。

一個安裝是作為 dmg 安裝完成的;另一個是自製安裝。

一旦發現 homebrew 與 dmg 競爭 PID 文件,決定停止使用 dmg 版本,通過brew services方法使用 homebrew 版本。

這兩個安裝是對接的,具有不同的 PID 文件。

引用自:https://dba.stackexchange.com/questions/284048