web-dev-qa-db-ja.com

mysqlプロセスを停止できません

私は最近、Ubuntu 12.04 OSデスクトップに5.5.28-29.2 Percona Server(GPL)リリース29.2をインストールしました。私はさまざまな方法を使用してサーバーを停止しようとしました:

- Sudo /etc/init.d/mysql stop
- Sudo kill -9 pid
- mysqladmin -u root -p shutdown

これらのすべてのメソッドはプロセスを停止しますが、停止すると自動的に起動します。 syslog(/ var/log/syslog /)をチェックし、常に次のトレースを表示します。

Jan  4 17:50:44 kernel: [ 1915.494219] init: mysql main process (17311) killed by KILL signal
Jan  4 17:50:44 kernel: [ 1915.494245] init: mysql main process ended, respawning
Jan  4 17:50:44 kernel: [ 1915.500025] type=1400 audit(1357318244.557:48): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/mysqld" pid=18458 comm="apparmor_parser"
Jan  4 17:50:46 /etc/mysql/debian-start[18501]: Upgrading MySQL tables if necessary.
Jan  4 17:50:46 /etc/mysql/debian-start[18504]: /usr/bin/mysql_upgrade: the '--basedir' option is always ignored
Jan  4 17:50:46 /etc/mysql/debian-start[18504]: Looking for 'mysql' as: /usr/bin/mysql
Jan  4 17:50:46 /etc/mysql/debian-start[18504]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
Jan  4 17:50:46 /etc/mysql/debian-start[18504]: This installation of MySQL is already upgraded to 5.5.28, use --force if you still need to run mysql_upgrade
Jan  4 17:50:46 /etc/mysql/debian-start[18515]: Checking for insecure root accounts.
Jan  4 17:50:46 /etc/mysql/debian-start[18520]: Triggering myisam-recover for all MyISAM tables

プロセスが自動的に再起動する理由を知っていますか?前もって感謝します!!

28
ljmelgui

私はこれとまったく同じ問題を抱えていました。 killコマンドを実行するとプロセスが強制終了されますが、私の場合は別のプロセスIDで再びポップアップし続けます。

それを永久に止める方法を見つけることができる唯一の方法はこれでした:

Sudo stop mysql

お役に立てば幸いです。

ソース: http://www.itfromscratch.com/how-to-stop-the-percona-mysql-server/

61
The New Guy

Sudo service mysql stopを使用するとうまくいきました。

32
alessio

すべてのmysqlインスタンスを強制終了しますか?ルートとして試してください:

 pkill mysqld;
17
Ray

Mac OSでHomebrewを使用しています。 brew services stop mysqlnot私のために働いたが、Sudo brew services stop mysql した。

5
Jason Swett

ここで推測しますが、mysqldはサーバーを再起動するmysql_safe initスクリプトを介して開始される可能性があります。

2
ESG

事後の数年を見ていた人々のために、私は同様の問題を抱えていて、それをちょうど解決しました。

Mysql.confファイルとともに/ etc/initディレクトリに存在していたorig_mysql.confと呼ばれる2番目のinitスクリプトがあったようです。これにより、upstartが2つのインスタンスを開始し、1つが終了したときに混乱したようです。そのため、継続的なリスポーニングが行われました。

私の解決策:

  1. 可能な場合、upstartを使用してmysqlを停止します。service mysql stop
  2. Confファイルの1つを削除します(/etc/init/orig_mysql.confを削除しました)。次にtelinit uを使用してinitを再起動します
  3. 残っているmysqldプロセスを手動で強制終了します。

実行中のmysqldプロセスがなく、それらが再生成されていないことを確認したら、service mysql startを使用してmysqlを再起動します。

これが誰かを助けることを願っています。これを解決するのに2年かかりました。

2
RobNY

これはこの特定の問題には当てはまらないかもしれませんが、ここではとにかく行きます。エラーログ( "/var/log/mysql/error.log")を確認しましたが、 "explicit_defaults_for_timestamp = TRUE"がエラー( "不明な変数")の原因であることがわかりました。それで、my.cnf( "/etc/mysql/my.cnf")からそれを削除し、 "Sudo start mysql"を実行し、バックアップして実行しました。これも役立つことを願っています!

0
dmarges