Mysql
嘗試啟動 MySQL 伺服器時伺服器退出而不更新 PID 文件?
所以我創建了我的 .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,讓我們知道會發生什麼。
在這樣做之前,請檢查以使 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 文件。