Mysql
如何獲取Mysql的新pid文件並成功重啟Mysql?
由於
lost of pid file of my server
,我無法使用普通命令停止 mysql,例如service mysql stop
這將顯示
ERROR! MySQL server PID file could not be found!
所以我嘗試停止所有mysql程序並手動重啟mysql
我在網際網路上搜尋並找到了一種解決方案,但它對我不起作用。
我跑
ps aux | grep mysql
結果顯示
root 6490 0.0 0.2 112720 2332 pts/0 S+ 03:48 0:00 grep --color=auto mysql
所以我輸入
kill -9 6490
但結果是
-bash: kill: (6490) - No such process
似乎每次我試圖殺死它時,pid都會改變。
我怎樣才能真正停止所有 mysql 程序?然後能得到一個新的pid文件嗎?linux和mysql的新手,提前謝謝你!
更新:
感謝 Henryk Gerlach 的回答,看來我已經關閉了所有 Mysql 程序,但是在我重新啟動伺服器後,pid 文件不會自動生成。我該怎麼做才能真正讓我的Mysql恢復正常?
您顯示的結果:
root 6490 0.0 0.2 112720 2332 pts/0 S+ 03:48 0:00 grep --color=auto mysql
實際上是
ps aux | grep mysql
命令的pid和程序。它實際上不是 MySQL 的程序。MySQL 的執行程序類似於以下內容:
mysql 1894 0.8 9.8 1865804 1192032 ? Sl Jul01 300:53 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/lib/mysql/DBNAME.err --pid-file=/var/lib/mysql/DBNAME.pid
您可以使用該命令
pkill
按名稱殺死正在執行的 MySQL 程序。但是,不建議強行殺死 MySQL。pkill -f mysql
這將匹配命令行任何部分的文件名模式
要啟動/停止 MySQL 服務,您可以執行:
service mysqld start service mysqld stop service mysqld restart
或者
service mysql start service mysql stop service mysql restart
嘗試:
ps aux > /tmp/processes grep mysql /tmp/processes
如果 grep 沒有返回任何內容,則沒有 mysql 正在執行。