Debian 9にアップグレードした後、MariaDBデータベースサーバーを起動できません

Debian 9にアップグレードした後、MariaDBデータベースサーバーを起動できません

Debian 9にアップグレードした後、次のことを試みたときにこの問題が発生しましたapt-get upgradeFailed to start MariaDB database server

ログは次のとおりです。

mariadb-server-10.1(10.1.23-9+deb9u1) 設定...
制御プロセスがエラーコードで終了したため、mariadb.service 操作が失敗しました。
詳細については、「systemctl status mariadb.service」および「journalctl -xe」を参照してください。
呼び出し-rc.d:initscript mysql、「開始」操作が失敗しました。
● mariadb.service - MariaDB データベースサーバー
   ロード済み: ロード済み (/lib/systemd/system/mariadb.service; 有効化、ベンダーデフォルト: 有効化)
   アクティビティ:2017年7月5日水曜日15:44:03 CEST以降に失敗しました(結果:終了コード)。
  プロセス: 9713 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION(コード=終了、ステータス=1/FAILURE)
  プロセス: 9623 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`/usr/bin/galera_recovery` [$? =$VAR ||終了 1(コード=終了、状態=0/成功)
  プロセス: 9619 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION(コード=終了、ステータス=0/SUCCESS)
  プロセス: 9616 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (コード=終了、ステータス=0/SUCCESS)
 マスターPID:9713(コード=終了、ステータス=1/FAILURE)
   ステータス:「MariaDBサーバーがダウンしました」

7月5日 15:43:59 v22015121382329682 systemd[1]: MariaDB データベースサーバーを起動中...
Jul 05 15:44:00 v22015121382329682 mysqld[9713]: 2017-07-05 15:44:00 140711653892672 [参考] /usr/sbin/mysqld (mysqld 1 3スタート。 ..
7月5日 15:44:03 v22015121382329682 systemd[1]: mariadb.service: 基本プロセスが終了しました、コード=終了、ステータス=1/FAILURE
Jul 05 15:44:03 v22015121382329682 systemd[1]: MariaDB データベースサーバーを起動できません。
Jul 05 15:44:03 v22015121382329682 systemd[1]: mariadb.service: デバイスが障害状態に移行しました。
7月5日 15:44:03 v22015121382329682 systemd[1]: mariadb.service: '終了コード'のため失敗しました。
dpkg:mariadb-server-10.1パッケージの処理中にエラーが発生しました(--configure):
 サブプロセスをインストールするためのインストール後、スクリプトはエラー終了状態1を返します。
dpkg:依存関係の問題により、default-mysql-serverは設定されません。
 default-mysql-server は mariadb-server-10.1 によって異なります。
  mariadb-server-10.1 パッケージはまだ構成されていません。

dpkg:default-mysql-serverパッケージの処理中にエラーが発生しました(--configure):
 依存関係の問題 - 構成されていません
dpkg:依存関係の問題のためにmysql-serverを設定できません。
 mysql-server は default-mysql-server に依存します。
  default-mysql-server パッケージはまだ構成されていません。

dpkg:mysql-serverパッケージの処理中にエラーが発生しました(--configure):
 依存関係の問題 - 構成されていません
処理中にエラーが発生しました:
 mariadb-サーバー-10.1
 デフォルトのmysqlサーバー
 MySQLサーバー

このチュートリアルを試しましたが、まだ失敗しました。 https://askubuntu.com/a/697806/672607

この問題をどのように解決できますか?

ベストアンサー1

このチュートリアルでは、mysql-serverの代わりにmariadb-serverをインストールする必要があります。 DEBIAN 9のインストールでも同じ問題が発生しました。次のコマンドが私にとって効果的でした。

sudo apt purge 'mysql*'
sudo apt purge 'mariadb*'
sudo apt autoremove
sudo apt autoclean

システムに何か他のものがあることを確認してください。

dpkg -l | grep -e mysql -e mariadb 

リストが空の場合は、mariadb サーバーをインストールします。

sudo apt install mariadb-server

それでは、データベースの停止と起動の状態を確認してください。

インストール後の状態:

sudo systemctl status mysql.service
● mariadb.service - MariaDB database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-03-21 16:08:49 CET; 2min 1s ago
 Main PID: 15699 (mysqld)
   Status: "Taking your SQL requests now..."
   CGroup: /system.slice/mariadb.service
           └─15699 /usr/sbin/mysqld

.../..

PID確認:

sudo more /var/run/mysqld/mysqld.pid 
15699

データベースを停止します。

sudo systemctl stop mysql.service
sudo systemctl status mysql.service
● mariadb.service - MariaDB database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Wed 2018-03-21 16:14:35 CET; 1s ago
 Main PID: 15699 (code=exited, status=0/SUCCESS)
   Status: "MariaDB server is down"

.../...

PIDファイルが存在しないことを確認することもできます。

sudo more /var/run/mysqld/mysqld.pid 
more: stat on /var/run/mysqld/mysqld.pid: No file or folder

データベースを起動します。

sudo systemctl start mysql.service
sudo systemctl status mysql.service
● mariadb.service - MariaDB database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-03-21 16:14:54 CET; 3s ago
  Process: 15911 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 15908 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
  Process: 15791 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_S
  Process: 15787 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 15784 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
 Main PID: 15881 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 26 (limit: 4915)
   CGroup: /system.slice/mariadb.service
           └─15881 /usr/sbin/mysqld

PIDファイルが存在する場所を確認できます。空のデータベースに役立ちます。データベースに何かがある場合は、まずバックアップを作成する必要があります。

おすすめ記事