web-dev-qa-db-ja.com

Ubuntu 16.04でMySQL 5.6のmysql.serviceを開始できない

この投稿の指示 に従って、Ubuntu 16.04の既存の5.7インストールの上にMySQL 5.6をインストールする方法について、サービスの開始に複数の問題がありました。

最初にこれが起こりました:

Failed to start mysql.service: Unit mysql.service is masked

systemctl unmask mysql.serviceを実行することで解決しました。しかし、その後、私は繰り返しこのメッセージを受け取りました:

Job for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.

systemctl status mysql.serviceの検査は以下を示しました。

Failed to start LSB: Start and stop the mysql database server daemon.
3
M1ke

MySQLバージョンをダウングレードした後、次のコマンドを試してみます。

systemctl unmask mysql.service
service mysql start
5
Vimal Raj

これに対する修正には、異なるデバッグログを含む複数の手順が含まれており、それらのログの手がかりをたどっていました。他の人を助けるためにそれらを文書化しています-あなたの問題は異なるかもしれませんが、このプロセスは何が間違っているのかを見つけるのに役立つはずです:

まず、journalctl -xeにはさらに多くの情報が含まれています。私の場合、次のものが含まれていました。

kernel: audit: type=1400 audit(1528794958.103:169): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/etc/mysql/my.cnf.fallback"

これはvi /etc/apparmor.d/usr.sbin.mysqldと次の行を追加することで修正できます。

/etc/mysql/conf.d/mysql.cnf/ r,
/etc/mysql/conf.d/mysql.cnf/* r,
/etc/mysql/my.cnf.fallback r,

興味深い点は、ディレクトリとその中のワイルドカードファイル用に別の行が必要なことです。これは一部のUNIXアプリケーションでは一般的ですが、すべてが失敗するわけではありません。

すべてのapparmorの変更が完了すると、システムはまだ起動しなくなり、今回はjournalctl -xeコマンドは何の役にも立ちませんでした。

その後、Sudo -u mysql mysqldを実行して、デーモンを手動で開始することができました。これは、InnoDBの起動に失敗したことを示していますが、理由ではありません。

気まぐれに、ファイル/var/lib/mysql/ib_logfile*およびib_binlogを削除して、もう一度試しました。今回はサーバーが起動しました。その後、これを終了して、service start mysqlを実行することができました。

別に/var/lib/mysql/debian-5.7.flagを削除しました-これが役立ったのか、そうしなかった場合にその後の問題を引き起こしたのかわかりません。

この例が誰かの助けになることを願っています。このプロセスで別の問題が発生した場合は、同様の行に沿って他の回答を自由に追加してください。

2
M1ke

Mysqlが実行されている場合は、まず停止します

BACKUP=/var/tmp/broken-mysql
Sudo mkdir -p $BACKUP               # create backup dir
Sudo mv -vi /var/lib/mysql* $BACKUP # Remove any old database setup
Sudo mysql_install_db -u mysql      # Install new database
Sudo systemctl unmask mysql.service # Enables the service for systemd
Sudo service mysql start            # Start the service
0
Bibin Joseph