mysqlサーバーを起動/停止するにはどうすればよいですか?


211

mysqlサーバーを正しく起動および停止する方法を説明する記事で見つけようとしました。

このリンクを見つけました:Ubuntu 8.04でMySqlサーバーを起動/停止する方法| Abhiのブログ世界

私はこのコマンドを実行しました:

/etc/init.d/mysql start 

しかし、私はこのエラーが表示されます

ERROR 1045 (28000) Access denied for user....

このコマンドを試した後:

sudo /etc/init.d/mysql start

パスワードを入力しましたが、再度同じエラーが表示されます。

次のコマンド:

sudo /etc/init.d/mysql - root -p start

結果:

ERROR 1049 (42000) Unknown database 'start'.

そして、このコマンドを実行すると:

sudo service mysql start

MySQLサーバーの成功が始まりました。クール!

それで、他のコマンドの何が問題になっていますか?なぜエラーになるのですか?


3
実際には、でも、sudoで、それは私のために動作しませんでしたが、その後私は、スクリプトの中で、次のヒントが見つかりました:、むしろ/etc/init.dの通過initスクリプトを呼び出す以外のサービス(8)を使用し、それはOKだった
Timofey

2
ティムは正しい。sudoサービスmysql startを使用します。
エド・マネ

一般に、sudo -lを使用して、特定のシステムの特定のユーザーがsudoで許可されていることを確認できます。(あなたの許可は/ etc / sudoersで設定されます。)しかし、この特定のケースで役立つかどうかはわかりません。編集:待って、気にしないで、アクセス拒否エラーは、それがsudoではなく、MySQLまたは何かから来ているように見えます。
デビッドウィニエッキ

回答:


230

最初の2つのコマンドはrootとして実行されていなかったため、予期される動作です。mysqlを停止/起動するには、rootになる必要があります。

しかしながら:

sudo /etc/init.d/mysql start

動作するはずです。実際、私にとってはそうです:

kojan:~> sudo /etc/init.d/mysql restart
[sudo] password for chris: 
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..

既に実行されていたので、startではなくrestartを使用しましたが、効果は同じです。パスワードを正しく入力しましたか?:) sudo configを編集して、これが機能しなくなることはありますか?

これです..

sudo /etc/init.d/mysql - root -p start

引数が間違っています。init.dスクリプトは、startor stopまたはrestart- のみを取ります。しようとしていたので、複数の引数を与えることはできません。

とにかく、短い答えはあなたが実際に仕事に就いたものであり、推奨される方法です。serviceは、すべてのinit.dスクリプトを徐々に置き換えているため、を使用する習慣を身に付ける必要がありますservice。リンクするページは3年前のものなので、塩を使用してください:)


7
また、sudoサービスmysql start

2
start mysql私のために働いた(Ubuntu 12.04.4)。
ティム

3
sudo /etc/init.d/mysql restart私のためにMySQLを再起動しました
エドワード

6
方法については、sudo systemctl start mysqlUbuntuの16.04とアップのために?
アンキットバリアン

86

「mysql」が正しいサービス名であることを再確認するのにも役立ちます。私の場合はそうではありませんでした。私は次の応答を得続けました:mysql:実行中に認識されないサービス

service mysql status 

次に/etc/init.dを確認し、プロセス名mysqldおよびprog = mysqldをリストしたmysqldという名前のスクリプトを見つけました。

それで私はやった

service mysqld status
service mysqld stop
service mysqld start 

そして彼らはすべてうまくいった。


4
mysql: unrecognized service
グリーン

7
少なくとも13.10では、root権限で実行する必要があります。たとえば、「sudo service mysql status」。
ブライス14年

13
14.10のために私は「mysqlの」ではないのmysqlを使用するために必要なD
redanimalwar

1
ルート権限なしで実行している場合、それは言うでしょうunknown job: mysql。少しわかりにくい。
phil294

1
Failed to start mysqld.service: Unit mysqld.service not found.
-JCarlos

30

Ubuntu 12.10以降の場合:

MYSQLを開始:

sudo start mysql

MYSQLを再起動します:

sudo restart mysql # The service must be running

MYSQLを停止します。

sudo stop mysql # The service must be running

3
stop: Unknown job: mysql
グリーン

@Greenこれを試したところ(1年後)まだ機能しています。これは私の結果です:mysql stop/waitingmysqlこれを停止するには、すでに実行している必要があることを知っておく必要があります;)
ルシオ

1
ヒーロー、あなたは私の命を救います、mysqldは長い間私のマシンのメモリを占有していました。私はそれを取り除くためにあらゆる種類の方法を試してみましたが、あなたの答えに会うまではすべて失敗しました。
禅14

sudo: start: command not found
JCarlos

1
@JCarlos Doapt install upstart
エドワード

9

実際、Ubuntuマシンにmysql-workbenchをインストールすると、奇妙なエラーが発生しました。その後、次のコマンドを使用してmysqlサービスを開始しようとしました。

service mysql start

そこで、MySQLサーバーがインストールされていないという解決策を得たので、インストールして問題を解決しました。mysql-serverをインストールするコマンドは次のとおりです。

sudo apt-get install mysql-server

インストールが成功したら、次のようにMySQLサーバーを起動します。

service mysql start

4

私はUbuntu64で同じ問題を抱えていましたが、systemctlを使用せずに代わりにこれを修正しました:

sudo service mysql restart

このコマンドが機能することを願っています。



2

システムにMySQLをインストールしたら、次のようにします。

$サービスmysqlステータス

サービス停止がこれを行う場合:

$ service mysql start

そして私のサービスを停止するために:

$サービスmysql停止


1
/etc/init.d/mysql startservice mysql startまったく同じです。
ストーム、

1

私は同じ問題に巻き込まれ、以下のコマンドに従ってアンインストールして再インストールしました:

1)sudo apt-get --purge remove mysql-server mysql-common mysql-client

2)sudo apt update && sudo apt dist-upgrade && sudo apt autoremove

3)sudo apt-get install -y mysql-server mysql-client


0

両方のケースをカバーする小さなスクリプト[サーバー実行中/サーバー実行なし]:

#!/bin/bash

service mysql restart
if [ "$?" != "0" ]; then
  service mysql start
fi

0

ubuntu 18.04では、ソケットはファイルで定義されています

 /etc/mysql/mysql.conf.d/mysqld.cnf

 socket     = /var/run/mysqld/mysqld.sock

ディレクトリが存在しなかったため、次のように手動で作成しました。

sudo mkdir -p /var/run/mysqld

mysqlを再起動します。ここで私の場合は解決しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.