MySQLを再起動する方法


32

私はMySQL 5.1.54を実行しており、コマンドを使用して端末からUbuntuにインストールしました

sudo apt-get install mysql-server

my.cnfファイルを変更し、データベースを停止してから起動したいと思います。私は次を試しました

sudo /usr/bin/mysqld_safe stop

私の質問は、データベースが停止していることをどのようにして知るのですか?上記のコマンドを実行すると、

sudo mysql -uuser -ppassword

データベースにすぐにログインできます。データベースが実行されていないことを教えてはいけませんか?

助言がありますか?ありがとうございました。

編集: 私も試しました

mysqladmin -uuser -ppassword shutdown

その後

ps aux | grep mysql

次の出力が得られます

david    12093  0.0  0.0   6052  1276 pts/1    T    May10   0:00 nano /etc/mysql/my.cnf
root     12267  0.0  0.0   6396  1436 pts/1    T    May10   0:00 sudo nano /etc/mysql/my.cnf
root     12269  0.0  0.0   6052  1388 pts/1    T    May10   0:00 nano /etc/mysql/my.cnf
mysql    15371  0.3  0.1  55344  9088 ?        Ssl  10:53   0:00 /usr/sbin/mysqld
david    15512  0.0  0.0   5304   864 pts/1    R+   10:54   0:00 grep --color=auto mysql

上記の出力は、MySQLがシャットダウンされたことを意味しますか?実行しmysql -uuser -ppasswordても、mysqlにログインできます。

助言がありますか?

回答:


64

にあるSys-V initスクリプトを実際に使用する必要があります/etc/init.d

開始:

sudo /etc/init.d/mysql start

やめる:

sudo /etc/init.d/mysql stop

設定の再起動/再読み込み:

sudo /etc/init.d/mysql restart

実行ステータスを確認します。

sudo /etc/init.d/mysql status

1
私はそれを試みましたが、次のエラーメッセージが表示されます `/etc/init.dを介してinitスクリプトを呼び出すのではなく、service(8)ユーティリティを使用します。たとえば、service mysql status '
David

3
@Davidこれが唯一の正しい答えです。serviceは、適切なinit.dスクリプトを検索する小さなプログラムです。「エラーメッセージ」が表示されますが、sudo /etc/init.d/mysql start/stopそれでも作業は完了しています。使用serviceは、起動スクリプトを使用するための単なる「新しい方法」です。を使用serviceするには、端末でこれを実行するだけです:service mysql stopまたは、開始します。
ブラッドフィリア

@BloodPhilia、試しましたservice mysql stopが、次のメッセージが表示されましたRejected send message, 1 matched rules; type="method_call", sender=":1.72" (uid=1000 pid=17673 comm="stop mysql ") interface="com.ubuntu.Upstart0_6.Job" member="Stop" error name="(unset)" requested_reply=0 destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init"))。何か案は?
デビッド

2
@David sudoで使用してみましたか?好きsudo service mysql stop
ブラッドフィリア

1
@BloodPhilia。あなたの提案はうまくいきました。説明をありがとう。
デビッド

13

Ubuntuマシンでは、両方のコマンドを使用してmysqlを再起動できます。

 1. sudo /etc/init.d/mysql restart

 2. # service mysql restart

Debianでも。しかし、最初のコマンドにより、すべてが機能しlocalhostなくなりました。それらはに置き換える必要があり127.0.0.1ます。後者にはその問題はありませんでした。
MAマディン

3

mysqlをシャットダウンするには、次を実行します。

mysqladmin -uuser -ppassword shutdown

ここで、ユーザーとパスワードは、適切なSHUTDOWN特権を持つユーザーのものです

シャットダウンされたことを確認するには:

ps aux | grep mysql

(「grep」コマンド以外の)プロセスが表示される場合、シャットダウンされていません。


私はあなたの指示に従って、出力を取得します。手順を使用して質問を編集しました。順調に進んでいるかどうか教えてもらえますか?
デビッド

シャットダウンが停止し、mysqlが自動的に起動すると思います。mysqlを永続的に停止するコマンドはありますか?
デビッド

@David自動再起動はmysqladmin shutdownの動作ではありません。おそらくubuntuの/etc/init.d/mysqlの動作ですか?よく分かりません。@gerrykの答えはあなたのオペレーティングシステムにとって正しいものだと思います。
DTest

0

kill -9 "PID"コマンドを使用して、それを実行できます。MySQLプロセスID(PID)は、ps -aまたはtopコマンドを実行して取得できます。その後、。/ "メインプロセス"を呼び出して、再度起動できます。


こんにちは、コマンドラインとMySQLは初めてです。ターミナルに入力する必要があるものを正確に表示できますか?
デビッド

5
kill -9は、プロセスをクリーンアップしないため、少し失礼です。
ゲリック

1
これを行うことはお勧めしません。MySQLが突然停止したときにMySQLが何をしているかに応じて、不幸なデータベースを再起動する場合があります。
Xenoactive

0

Linuxボックスでサービスを管理するためにデフォルトで使用可能なsystemctlユーティリティ。サービスの開始、再起動、停止に使用できます。使用できる他のオプションがあります。チェックアウトsystemctl?

systemctl stop mysql
systemctl start mysql

これが役立つ理由について詳細を追加してください。説明のつかない回答はお勧めできません。
kdb
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.