のため lost of pid file of my server
、次のような通常のコマンドを使用してmysqlを停止することはできません
service mysql stop
表示されます
ERROR! MySQL server PID file could not be found!
だから私はすべてのmysqlプロセスを停止してmysqlを手動で再起動しようとします
私はインターネットを検索して1つの解決策を見つけましたが、それは私にとってはうまくいきません。
走る
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は実行されていません。