##初めに
今回WSLでMySQLのアップデートをかけたらエラーが起きて、なんとか対処ができたのでその時のことをまとめてみようとこの記事を書きました。
また筆者はQiitaへの投稿は初めてです。
##起きたこと
WSLを起動しsudo apt update && sudo apt upgrade
コマンドを実行し、MySQLのアップデートを行ったところエラーが起きました。
初回の時のエラーはターミナルを一度閉じてしまって完全にはわからないので、以降で表示されたエラーを以下に載せます。
$ sudo apt-get install mysql-server
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
libevent-core-2.0-5 mysql-client-5.7 mysql-client-core-5.7 mysql-common mysql-server-5.7 mysql-server-core-5.7
提案パッケージ:
mailx tinyca
以下のパッケージが新たにインストールされます:
libevent-core-2.0-5 mysql-client-5.7 mysql-client-core-5.7 mysql-common mysql-server mysql-server-5.7
mysql-server-core-5.7
アップグレード: 0 個、新規インストール: 7 個、削除: 0 個、保留: 0 個。
18.4 MB 中 0 B のアーカイブを取得する必要があります。
この操作後に追加で 160 MB のディスク容量が消費されます。
続行しますか? [Y/n] y
パッケージを事前設定しています ...
以前に未選択のパッケージ mysql-common を選択しています。
(データベースを読み込んでいます ... 現在 65131 個のファイルとディレクトリがインストールされています。)
.../mysql-common_5.7.25-0ubuntu0.16.04.2_all.deb を展開する準備をしています ...
mysql-common (5.7.25-0ubuntu0.16.04.2) を展開しています...
以前に未選択のパッケージ mysql-client-core-5.7 を選択しています。
.../mysql-client-core-5.7_5.7.25-0ubuntu0.16.04.2_amd64.deb を展開する準備をしています ...
mysql-client-core-5.7 (5.7.25-0ubuntu0.16.04.2) を展開しています...
以前に未選択のパッケージ mysql-client-5.7 を選択しています。
.../mysql-client-5.7_5.7.25-0ubuntu0.16.04.2_amd64.deb を展開する準備をしています ...
mysql-client-5.7 (5.7.25-0ubuntu0.16.04.2) を展開しています...
以前に未選択のパッケージ mysql-server-core-5.7 を選択しています。
.../mysql-server-core-5.7_5.7.25-0ubuntu0.16.04.2_amd64.deb を展開する準備をしています ...
mysql-server-core-5.7 (5.7.25-0ubuntu0.16.04.2) を展開しています...
以前に未選択のパッケージ libevent-core-2.0-5:amd64 を選択しています。
.../libevent-core-2.0-5_2.0.21-stable-2ubuntu0.16.04.1_amd64.deb を展開する準備をしています ...
libevent-core-2.0-5:amd64 (2.0.21-stable-2ubuntu0.16.04.1) を展開しています...
man-db (2.7.5-1) のトリガを処理しています ...
libc-bin (2.23-0ubuntu10) のトリガを処理しています ...
mysql-common (5.7.25-0ubuntu0.16.04.2) を設定しています ...
update-alternatives: /etc/mysql/my.cnf (my.cnf) を提供するために自動モードで /etc/mysql/my.cnf.fallback を使います
以前に未選択のパッケージ mysql-server-5.7 を選択しています。
(データベースを読み込んでいます ... 現在 65292 個のファイルとディレクトリがインストールされています。)
.../mysql-server-5.7_5.7.25-0ubuntu0.16.04.2_amd64.deb を展開する準備をしています ...
mysql-server-5.7 (5.7.25-0ubuntu0.16.04.2) を展開しています...
以前に未選択のパッケージ mysql-server を選択しています。
.../mysql-server_5.7.25-0ubuntu0.16.04.2_all.deb を展開する準備をしています ...
mysql-server (5.7.25-0ubuntu0.16.04.2) を展開しています...
systemd (229-4ubuntu21.15) のトリガを処理しています ...
ureadahead (0.100.0-19) のトリガを処理しています ...
man-db (2.7.5-1) のトリガを処理しています ...
mysql-client-core-5.7 (5.7.25-0ubuntu0.16.04.2) を設定しています ...
mysql-client-5.7 (5.7.25-0ubuntu0.16.04.2) を設定しています ...
mysql-server-core-5.7 (5.7.25-0ubuntu0.16.04.2) を設定しています ...
libevent-core-2.0-5:amd64 (2.0.21-stable-2ubuntu0.16.04.1) を設定しています ...
mysql-server-5.7 (5.7.25-0ubuntu0.16.04.2) を設定しています ...
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of stop.
update-alternatives: /etc/mysql/my.cnf (my.cnf) を提供するために自動モードで /etc/mysql/mysql.cnf を使います
(データベースを読み込んでいます ... 現在 65383 個のファイルとディレクトリがインストールされています。)
.../mysql-server-5.7_5.7.25-0ubuntu0.16.04.2_amd64.deb を展開する準備をしています ...
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of stop.
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of stop.
mysql-server-5.7 (5.7.25-0ubuntu0.16.04.2) で (5.7.25-0ubuntu0.16.04.2 に) 上書き展開しています ...
systemd (229-4ubuntu21.15) のトリガを処理しています ...
ureadahead (0.100.0-19) のトリガを処理しています ...
man-db (2.7.5-1) のトリガを処理しています ...
mysql-server-5.7 (5.7.25-0ubuntu0.16.04.2) を設定しています ...
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of stop.
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of start.
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of stop.
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of start.
mysql_upgrade: Got error: 2002: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) while connecting to the MySQL server
Upgrade process encountered error and will not continue.
mysql_upgrade failed with exit status 11
dpkg: パッケージ mysql-server-5.7 の処理中にエラーが発生しました (--configure):
サブプロセス インストール済みの post-installation スクリプト はエラー終了ステータス 1 を返しました
処理中にエラーが発生しました:
mysql-server-5.7
E: Sub-process /usr/bin/dpkg returned an error code (1)
また初回の頃に載っていたエラー内容ですが
dpkg: パッケージ mysql-server の処理中にエラーが発生しました (--configure):
debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable
dmesg: read kernel buffer failed: 関数は実装されていません
update-alternatives: エラー: alternative パス /etc/mysql/my.cnf.fallback が存在しません
があったようです。
##対処したこと
apt update && apt upgrade
でエラーが起きたことは初めてだったのでMySQLの設定か、必要なファイルが削除されたのかと思いましたがわかりませんでした。
最終的にバックアップをとった上でMySQLを一旦削除し、再インストールすることにしました。
バックアップは /etc/mysql の中にある設定ファイルと以下のコマンド
mysqldump --default-character-set=binary -uユーザー名 -pパスワード データベース名 > ファイル名.sql
でデータベースのバックアップを行いました。
再インストールに関しては色々検索したところこのページたどり着き参考にさせてもらいました。
コマンド内容は
sudo apt-get remove --purge 'mysql*'
sudo rm -rf /etc/mysql /var/lib/mysql
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get install mysql-server
です。
この最後のmysqlのインストールに関してなのですが、これで問題なく入れられるだろうとapt-get
でなくapt
でやろうとしたらエラー(なんのエラーだったかは残っていない)が起きてしまい、載っていた通りapt-get
で行いました。
##ログ
ログに関しては以下の通りです。
~$ sudo apt-get remove --purge 'mysql*'
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
注意、glob 'mysql*' のために 'mysqltcl' を選択します
注意、glob 'mysql*' のために 'mysql-mmm-agent' を選択します
注意、glob 'mysql*' のために 'mysql-workbench' を選択します
注意、glob 'mysql*' のために 'mysql-client-5.5' を選択します
注意、glob 'mysql*' のために 'mysql-client-5.6' を選択します
注意、glob 'mysql*' のために 'mysql-client-5.7' を選択します
注意、glob 'mysql*' のために 'mysql-mmm-tools' を選択します
注意、glob 'mysql*' のために 'mysql-common-5.6' を選択します
注意、glob 'mysql*' のために 'mysql-server-5.0' を選択します
注意、glob 'mysql*' のために 'mysql-server-5.1' を選択します
注意、glob 'mysql*' のために 'mysql-server-5.5' を選択します
注意、glob 'mysql*' のために 'mysql-server-5.6' を選択します
注意、glob 'mysql*' のために 'mysql-server-5.7' を選択します
注意、glob 'mysql*' のために 'mysql-utilities' を選択します
注意、glob 'mysql*' のために 'mysql-testsuite' を選択します
注意、glob 'mysql*' のために 'mysql-mmm-common' を選択します
注意、glob 'mysql*' のために 'mysql-server' を選択します
注意、glob 'mysql*' のために 'mysql-client' を選択します
注意、glob 'mysql*' のために 'mysql-sandbox' を選択します
注意、glob 'mysql*' のために 'mysql-client-core-5.5' を選択します
注意、glob 'mysql*' のために 'mysql-client-core-5.6' を選択します
注意、glob 'mysql*' のために 'mysql-client-core-5.7' を選択します
注意、glob 'mysql*' のために 'mysql-testsuite-5.5' を選択します
注意、glob 'mysql*' のために 'mysql-testsuite-5.6' を選択します
注意、glob 'mysql*' のために 'mysql-testsuite-5.7' を選択します
注意、glob 'mysql*' のために 'mysql-common' を選択します
注意、glob 'mysql*' のために 'mysql-mmm-monitor' を選択します
注意、glob 'mysql*' のために 'mysqltuner' を選択します
注意、glob 'mysql*' のために 'mysql-workbench-data' を選択します
注意、glob 'mysql*' のために 'mysql-server-core-5.1' を選択します
注意、glob 'mysql*' のために 'mysql-server-core-5.5' を選択します
注意、glob 'mysql*' のために 'mysql-server-core-5.6' を選択します
注意、glob 'mysql*' のために 'mysql-server-core-5.7' を選択します
注意、glob 'mysql*' のために 'mysql-source-5.7' を選択します
パッケージ 'mysql-client-5.5' はインストールされていないため削除もされません
パッケージ 'mysql-client-5.6' はインストールされていないため削除もされません
パッケージ 'mysql-server-core-5.6' はインストールされていないため削除もされません
パッケージ 'mysql-client-core-5.5' はインストールされていないため削除もされません
パッケージ 'mysql-client-core-5.6' はインストールされていないため削除もされません
注意、'mysql-common-5.6' の代わりに 'mysql-common' を選択します
パッケージ 'mysql-server-5.5' はインストールされていないため削除もされません
パッケージ 'mysql-server-5.6' はインストールされていないため削除もされません
パッケージ 'mysql-server-core-5.5' はインストールされていないため削除もされません
パッケージ 'mysql-testsuite-5.5' はインストールされていないため削除もされません
パッケージ 'mysql-testsuite-5.6' はインストールされていないため削除もされません
パッケージ 'mysql-server-5.0' はインストールされていないため削除もされません
パッケージ 'mysql-server-5.1' はインストールされていないため削除もされません
パッケージ 'mysql-server-core-5.1' はインストールされていないため削除もされません
パッケージ 'mysql-mmm-agent' はインストールされていないため削除もされません
パッケージ 'mysql-mmm-common' はインストールされていないため削除もされません
パッケージ 'mysql-mmm-monitor' はインストールされていないため削除もされません
パッケージ 'mysql-mmm-tools' はインストールされていないため削除もされません
パッケージ 'mysql-sandbox' はインストールされていないため削除もされません
パッケージ 'mysql-utilities' はインストールされていないため削除もされません
パッケージ 'mysql-workbench' はインストールされていないため削除もされません
パッケージ 'mysql-workbench-data' はインストールされていないため削除もされません
パッケージ 'mysqltcl' はインストールされていないため削除もされません
パッケージ 'mysqltuner' はインストールされていないため削除もされません
パッケージ 'mysql-client' はインストールされていないため削除もされません
パッケージ 'mysql-source-5.7' はインストールされていないため削除もされません
パッケージ 'mysql-testsuite' はインストールされていないため削除もされません
パッケージ 'mysql-testsuite-5.7' はインストールされていないため削除もされません
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
libevent-core-2.0-5
これを削除するには 'sudo apt autoremove' を利用してください。
以下のパッケージは「削除」されます:
mysql-client-5.7* mysql-client-core-5.7* mysql-common* mysql-server* mysql-server-5.7* mysql-server-core-5.7*
アップグレード: 0 個、新規インストール: 0 個、削除: 6 個、保留: 0 個。
1 個のパッケージが完全にインストールまたは削除されていません。
この操作後に 160 MB のディスク容量が解放されます。
続行しますか? [Y/n] y
(データベースを読み込んでいます ... 現在 65383 個のファイルとディレクトリがインストールされています。)
mysql-server (5.7.25-0ubuntu0.16.04.2) を削除しています ...
mysql-server-5.7 (5.7.25-0ubuntu0.16.04.2) を削除しています ...
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of stop.
update-alternatives: /etc/mysql/my.cnf (my.cnf) を提供するために自動モードで /etc/mysql/my.cnf.fallback を使います
mysql-server-5.7 (5.7.25-0ubuntu0.16.04.2) の設定ファイルを削除しています ...
mysql-client-5.7 (5.7.25-0ubuntu0.16.04.2) を削除しています ...
mysql-client-core-5.7 (5.7.25-0ubuntu0.16.04.2) を削除しています ...
mysql-common (5.7.25-0ubuntu0.16.04.2) を削除しています ...
mysql-common (5.7.25-0ubuntu0.16.04.2) の設定ファイルを削除しています ...
dpkg: 警告: mysql-common の削除中、ディレクトリ '/etc/mysql' が空でないため削除できませんでした
mysql-server-core-5.7 (5.7.25-0ubuntu0.16.04.2) を削除しています ...
man-db (2.7.5-1) のトリガを処理しています ...
~$ sudo rm -rf /etc/mysql /var/lib/mysql
~$ sudo apt-get autoremove
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージは「削除」されます:
libevent-core-2.0-5
アップグレード: 0 個、新規インストール: 0 個、削除: 1 個、保留: 0 個。
この操作後に 191 kB のディスク容量が解放されます。
続行しますか? [Y/n] y
(データベースを読み込んでいます ... 現在 65136 個のファイルとディレクトリがインストールされています。)
libevent-core-2.0-5:amd64 (2.0.21-stable-2ubuntu0.16.04.1) を削除しています ...
libc-bin (2.23-0ubuntu10) のトリガを処理しています ...
~$ sudo apt-get autoclean
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
~$ sudo apt-get install mysql-server
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
libevent-core-2.0-5 mysql-client-5.7 mysql-client-core-5.7 mysql-common mysql-server-5.7 mysql-server-core-5.7
提案パッケージ:
mailx tinyca
以下のパッケージが新たにインストールされます:
libevent-core-2.0-5 mysql-client-5.7 mysql-client-core-5.7 mysql-common mysql-server mysql-server-5.7
mysql-server-core-5.7
アップグレード: 0 個、新規インストール: 7 個、削除: 0 個、保留: 0 個。
18.4 MB 中 0 B のアーカイブを取得する必要があります。
この操作後に追加で 160 MB のディスク容量が消費されます。
続行しますか? [Y/n] y
パッケージを事前設定しています ...
以前に未選択のパッケージ mysql-common を選択しています。
(データベースを読み込んでいます ... 現在 65131 個のファイルとディレクトリがインストールされています。)
.../mysql-common_5.7.25-0ubuntu0.16.04.2_all.deb を展開する準備をしています ...
mysql-common (5.7.25-0ubuntu0.16.04.2) を展開しています...
以前に未選択のパッケージ mysql-client-core-5.7 を選択しています。
.../mysql-client-core-5.7_5.7.25-0ubuntu0.16.04.2_amd64.deb を展開する準備をしています ...
mysql-client-core-5.7 (5.7.25-0ubuntu0.16.04.2) を展開しています...
以前に未選択のパッケージ mysql-client-5.7 を選択しています。
.../mysql-client-5.7_5.7.25-0ubuntu0.16.04.2_amd64.deb を展開する準備をしています ...
mysql-client-5.7 (5.7.25-0ubuntu0.16.04.2) を展開しています...
以前に未選択のパッケージ mysql-server-core-5.7 を選択しています。
.../mysql-server-core-5.7_5.7.25-0ubuntu0.16.04.2_amd64.deb を展開する準備をしています ...
mysql-server-core-5.7 (5.7.25-0ubuntu0.16.04.2) を展開しています...
以前に未選択のパッケージ libevent-core-2.0-5:amd64 を選択しています。
.../libevent-core-2.0-5_2.0.21-stable-2ubuntu0.16.04.1_amd64.deb を展開する準備をしています ...
libevent-core-2.0-5:amd64 (2.0.21-stable-2ubuntu0.16.04.1) を展開しています...
man-db (2.7.5-1) のトリガを処理しています ...
libc-bin (2.23-0ubuntu10) のトリガを処理しています ...
mysql-common (5.7.25-0ubuntu0.16.04.2) を設定しています ...
update-alternatives: /etc/mysql/my.cnf (my.cnf) を提供するために自動モードで /etc/mysql/my.cnf.fallback を使います
以前に未選択のパッケージ mysql-server-5.7 を選択しています。
(データベースを読み込んでいます ... 現在 65292 個のファイルとディレクトリがインストールされています。)
.../mysql-server-5.7_5.7.25-0ubuntu0.16.04.2_amd64.deb を展開する準備をしています ...
mysql-server-5.7 (5.7.25-0ubuntu0.16.04.2) を展開しています...
以前に未選択のパッケージ mysql-server を選択しています。
.../mysql-server_5.7.25-0ubuntu0.16.04.2_all.deb を展開する準備をしています ...
mysql-server (5.7.25-0ubuntu0.16.04.2) を展開しています...
systemd (229-4ubuntu21.15) のトリガを処理しています ...
ureadahead (0.100.0-19) のトリガを処理しています ...
man-db (2.7.5-1) のトリガを処理しています ...
mysql-client-core-5.7 (5.7.25-0ubuntu0.16.04.2) を設定しています ...
mysql-client-5.7 (5.7.25-0ubuntu0.16.04.2) を設定しています ...
mysql-server-core-5.7 (5.7.25-0ubuntu0.16.04.2) を設定しています ...
libevent-core-2.0-5:amd64 (2.0.21-stable-2ubuntu0.16.04.1) を設定しています ...
mysql-server-5.7 (5.7.25-0ubuntu0.16.04.2) を設定しています ...
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of stop.
update-alternatives: /etc/mysql/my.cnf (my.cnf) を提供するために自動モードで /etc/mysql/mysql.cnf を使います
Renaming removed key_buffer and myisam-recover options (if present)
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of start.
mysql-server (5.7.25-0ubuntu0.16.04.2) を設定しています ...
libc-bin (2.23-0ubuntu10) のトリガを処理しています ...
systemd (229-4ubuntu21.15) のトリガを処理しています ...
ureadahead (0.100.0-19) のトリガを処理しています ...
~$ sudo apt update
ヒット:1 http://ppa.launchpad.net/ondrej/php/ubuntu xenial InRelease
ヒット:2 http://archive.ubuntu.com/ubuntu xenial InRelease
取得:3 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB]
ヒット:4 https://dl.yarnpkg.com/debian stable InRelease
取得:5 http://archive.ubuntu.com/ubuntu xenial-backports InRelease [107 kB]
取得:6 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [721 kB]
取得:7 http://security.ubuntu.com/ubuntu xenial-security InRelease [109 kB]
1,046 kB を 11秒 で取得しました (89.6 kB/s)
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
パッケージはすべて最新です。
~$ sudo service mysql start
* Starting MySQL database server mysqld [ OK ]
~$ sudo mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.25-0ubuntu0.16.04.2 (Ubuntu)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
##確認
以上の通りに行ったことでMySQLは再インストールできたのですが、もう一度アップデートをして問題ないか気になったため
気になっていたmysql-server
の再インストールとmysql_upgrade
を行ってみました。
結果は以下の通りです。
~$ sudo apt install --reinstall mysql-server
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
アップグレード: 0 個、新規インストール: 0 個、再インストール: 1 個、削除: 0 個、保留: 0 個。
10.8 kB 中 0 B のアーカイブを取得する必要があります。
この操作後に追加で 0 B のディスク容量が消費されます。
(データベースを読み込んでいます ... 現在 65383 個のファイルとディレクトリがインストールされています。)
.../mysql-server_5.7.25-0ubuntu0.16.04.2_all.deb を展開する準備をしています ...
mysql-server (5.7.25-0ubuntu0.16.04.2) で (5.7.25-0ubuntu0.16.04.2 に) 上書き展開しています ...
mysql-server (5.7.25-0ubuntu0.16.04.2) を設定しています ...
~$ sudo apt install --reinstall mysql-server-5.7
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
アップグレード: 0 個、新規インストール: 0 個、再インストール: 1 個、削除: 0 個、保留: 0 個。
2,623 kB 中 0 B のアーカイブを取得する必要があります。
この操作後に追加で 0 B のディスク容量が消費されます。
パッケージを事前設定しています ...
(データベースを読み込んでいます ... 現在 65383 個のファイルとディレクトリがインストールされています。)
.../mysql-server-5.7_5.7.25-0ubuntu0.16.04.2_amd64.deb を展開する準備をしています ...
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of stop.
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of stop.
mysql-server-5.7 (5.7.25-0ubuntu0.16.04.2) で (5.7.25-0ubuntu0.16.04.2 に) 上書き展開しています ...
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of stop.
systemd (229-4ubuntu21.15) のトリガを処理しています ...
ureadahead (0.100.0-19) のトリガを処理しています ...
man-db (2.7.5-1) のトリガを処理しています ...
mysql-server-5.7 (5.7.25-0ubuntu0.16.04.2) を設定しています ...
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of stop.
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of start.
Checking if update is needed.
Checking server version.
Running queries to upgrade MySQL server.
Checking system database.
mysql.columns_priv OK
mysql.db OK
mysql.engine_cost OK
mysql.event OK
mysql.func OK
mysql.general_log OK
mysql.gtid_executed OK
mysql.help_category OK
mysql.help_keyword OK
mysql.help_relation OK
mysql.help_topic OK
mysql.innodb_index_stats OK
mysql.innodb_table_stats OK
mysql.ndb_binlog_index OK
mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
mysql.proxies_priv OK
mysql.server_cost OK
mysql.servers OK
mysql.slave_master_info OK
mysql.slave_relay_log_info OK
mysql.slave_worker_info OK
mysql.slow_log OK
mysql.tables_priv OK
mysql.time_zone OK
mysql.time_zone_leap_second OK
mysql.time_zone_name OK
mysql.time_zone_transition OK
mysql.time_zone_transition_type OK
mysql.user OK
The sys schema is already up to date (version 1.5.1).
Checking databases.
sys.sys_config OK
Upgrade process completed successfully.
Checking if update is needed.
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of restart.
~$ sudo apt install --reinstall mysql-server-5.7
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
アップグレード: 0 個、新規インストール: 0 個、再インストール: 1 個、削除: 0 個、保留: 0 個。
2,623 kB 中 0 B のアーカイブを取得する必要があります。
この操作後に追加で 0 B のディスク容量が消費されます。
パッケージを事前設定しています ...
(データベースを読み込んでいます ... 現在 65383 個のファイルとディレクトリがインストールされています。)
.../mysql-server-5.7_5.7.25-0ubuntu0.16.04.2_amd64.deb を展開する準備をしています ...
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of stop.
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of stop.
mysql-server-5.7 (5.7.25-0ubuntu0.16.04.2) で (5.7.25-0ubuntu0.16.04.2 に) 上書き展開しています ...
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of stop.
systemd (229-4ubuntu21.15) のトリガを処理しています ...
ureadahead (0.100.0-19) のトリガを処理しています ...
man-db (2.7.5-1) のトリガを処理しています ...
mysql-server-5.7 (5.7.25-0ubuntu0.16.04.2) を設定しています ...
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of stop.
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of start.
Checking if update is needed.
This installation of MySQL is already upgraded to 5.7.25, use --force if you still need to run mysql_upgrade
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of restart.
~$ sudo su -
~# mysql_upgrade
mysql_upgrade: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) while connecting to the MySQL server
Upgrade process encountered error and will not continue.
~# mysql_upgrade -p
Enter password:
Checking if update is needed.
This installation of MySQL is already upgraded to 5.7.25, use --force if you still need to run mysql_upgrade
~# mysql_upgrade -u root -p --force
Enter password:
Checking server version.
Running queries to upgrade MySQL server.
Checking system database.
mysql.columns_priv OK
mysql.db OK
mysql.engine_cost OK
mysql.event OK
mysql.func OK
mysql.general_log OK
mysql.gtid_executed OK
mysql.help_category OK
mysql.help_keyword OK
mysql.help_relation OK
mysql.help_topic OK
mysql.innodb_index_stats OK
mysql.innodb_table_stats OK
mysql.ndb_binlog_index OK
mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
mysql.proxies_priv OK
mysql.server_cost OK
mysql.servers OK
mysql.slave_master_info OK
mysql.slave_relay_log_info OK
mysql.slave_worker_info OK
mysql.slow_log OK
mysql.tables_priv OK
mysql.time_zone OK
mysql.time_zone_leap_second OK
mysql.time_zone_name OK
mysql.time_zone_transition OK
mysql.time_zone_transition_type OK
mysql.user OK
The sys schema is already up to date (version 1.5.1).
Checking databases.
sys.sys_config OK
Upgrade process completed successfully.
Checking if update is needed.
一応再インストールできたようですがこれで問題ないかの確認が取れないので不安は残ってしまいました。
##あとがき
今回は、初めて遭遇したapt update && apt upgrade
コマンド実行時のエラーだったためかなり時間がかかってしまいました。
一体どこが悪いのか全く分からず結局再インストールということになってしまのは少し悔やまれます。
再インストールもただapt remove
やapt purge
しただけでは治らず結構手間取りました。
一応このUbuntu自体の入れ直しになるほど大ごとにはならなかったので良かったとは思います。
また今回のことでエラー内容やログはその時対処する分だけでなく何かしらでしっかり保存したほうがいいと感じました。
今後同じようなことが起きたときは同じように再インストールも手の一つとして考えていこうと思う。