web-dev-qa-db-ja.com

mysqlサービスを開始できません

Mysqlサービスを開始しようとしています。

/etc/init.d/mysql start

戻り値:

Job failed. See system logs and 'systemctl status' for details.

さらに:

systemctl status mysql.service

戻り値:

mysql.service - LSB: Start the MySQL database server
      Loaded: loaded (/etc/init.d/mysql)
      Active: failed since Mon, 04 Aug 2014 16:20:43 -0400; 38s ago
     Process: 14148 ExecStop=/etc/init.d/mysql stop (code=exited, status=0/SUCCESS)
     Process: 16457 ExecStart=/etc/init.d/mysql start (code=exited, status=1/FAILURE)
      CGroup: name=systemd:/system/mysql.service

何が起こっているのかを知る方法はありますか?

/var/log/mysql/mysqld.logの最新のエントリ:

140805 08:52:42 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
140805  8:52:42 [ERROR] mysqld: Can't lock aria control file '/var/lib/mysql/aria_log_control' for exclusive use, error: 11. Will retry for 30 seconds
140805  8:53:13 [ERROR] mysqld: Got error 'Could not get an exclusive lock; file is probably in use by another process' when trying to use aria control file '/var/lib/mysql/aria_log_contr$
140805  8:53:13 [ERROR] Plugin 'Aria' init function returned error.
140805  8:53:13 [ERROR] Plugin 'Aria' registration as a STORAGE ENGINE failed.
140805  8:53:13 [ERROR] Failed to initialize plugins.
140805  8:53:13 [ERROR] Aborting

140805  8:53:13 [Note] /usr/sbin/mysqld: Shutdown complete

140805 08:53:13 mysqld_safe mysqld from pid file /var/run/mysql/mysqld.pid ended
4
smilebomb

/var/lib/mysql/aria_log_controlファイルが別のプロセスによって開かれているため、mysqldを開始できません。

現在誰が、何がファイルを開いているかを確認します。

lsof `/var/lib/mysql/aria_log_control`

開いているプロセスをリストする必要があります。

COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
mysqld  1506 mysql   10uW  REG  253,1       52 263948 /var/lib/mysql/aria_log_control

プロセスが確実に実行されてはならない場合は、次のコマンドでシャットダウンします。

Sudo kill -SIGTERM <PID>

それが失敗した場合:

Sudo kill -SIGKILL <PID>

または再起動します。

4
garethTheRed

/etc/my.cnfファイルに移動し、datadirおよびtmpdir変数を確認します。それらのディレクトリに移動し、その中のファイルの権限を確認します。 rootが所有するファイルがある場合は、権限をmysql:mysqlなどに変更して、再試行してください。


例:

/etc/my.cnfで見つかりました:

datadir = /var/lib/mysql

以下を試してから、もう一度mysqlを起動してみてください。

chown mysql:mysql /var/lib/mysql
1
jimm-cl

Raspberry Piでこのエラーが発生しました。 /var/lib/mysqlにアクセスして、raspberrypi.errという名前のファイルを見つけました。その中で、起動時に/etc/mysql/my.cnfに不要な行を見つけたことがわかりました。私の場合、問題のある行はbind-addressでしたが、調べ始めるのに適した場所かもしれません。

0
StMulligan

問題はmysql_install_dbパッケージ内のスクリプトmariadb-server-5.5.34-2.fc20およびcommunity-mysql-server-5.5.35-1.fc20。サーバーデータディレクトリに適切な権限を設定しません。 rootとして次のコマンドを実行して修正します。

chown -R mysql:mysql /var/lib/mysql

クレジット: https://www.moucha.cc/charon/tag/mariadb/

0
Rodolfo Martins