web-dev-qa-db-ja.com

debian 9へのアップグレード後、MariaDBデータベースサーバーの起動に失敗しました

Debian 9にアップグレードした後、apt-get upgradeを実行しようとすると、この問題が発生します:Failed to start MariaDB database server

ここにログがあります:

 mariadb-server-10.1(10.1.23-9 + deb9u1)のセットアップ... 
制御プロセスがエラーコードで終了したため、mariadb.serviceのジョブが失敗しました。
参照詳細については、「systemctl status mariadb.service」および「journalctl -xe」。
 invoke-rc.d:initscript mysql、action "start" failed。
●mariadb.service-MariaDBデータベースサーバー
ロード済み:ロード済み(/lib/systemd/system/mariadb.service; enabled;ベンダープリセット:有効)
アクティブ:失敗(結果:exit-code)2017年7月5日水曜日以降: 44:03 CEST; 9ミリ秒前
プロセス:9713 ExecStart =/usr/sbin/mysqld $ MYSQLD_OPTS $ _WSREP_NEW_CLUSTER $ _WSREP_START_POSITION(code = exited、status = 1/FAILURE)
プロセス:9623 ExecStartPre =/bin/sh- c [! -e/usr/bin/galera_recovery] && VAR = || VAR = `/ usr/bin/galera_recovery`; [$? -eq 0] && systemctl set-environment _WSREP_START_POSITION = $ VAR || exit 1(code = exited、status = 0/SUCCESS)
 Process:9619 ExecStartPre =/bin/sh -c systemctl unset-environment _WSREP_START_POSITION(code = exited、status = 0/SUCCESS)
プロセス:9616 ExecStartPre =/usr/bin/install -m 755 -o mysql -g root -d/var/run/mysqld(code = exited、status = 0/SUCCESS)
メインPID:9713(コード= exited、status = 1/FAILURE)
ステータス:「MariaDBサーバーがダウンしています」
 
 Jul 05 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 10.1.23-MariaDB-9 + deb9u1)プロセス9713として開始... 
 Jul 05 15:44:03 v22015121382329682 systemd [1]:mariadb.service:main process exited、code = exited、status = 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:「exit-code」という結果で失敗しました。
 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-server-10.1 
 default-mysql-server 
 mysql-server 

私はすでにこのチュートリアルを試しましたが、それでも失敗しました: https://askubuntu.com/a/697806/672607

この問題を解決するにはどうすればよいですか?

3
Zoker

チュートリアルでは、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ファイルを確認できます。空のデータベースで役立つ場合があります。データベースに何かがある場合は、最初にバックアップを行う必要があります。

5
dubis

試す

apt dist-upgrade

または

apt install aptitude
aptitude install mariadb-server

aptitudeには非常に強力な依存関係リゾルバーがあります

0
jet

私はdubisが行ったことを実行し、それが機能しました(おかげで)、zshを使用している人のためにいくつか追加したいと思います。 「*」を使用してコマンドを実行するときは、ワイルドカードをエスケープするために、スターの前に「\」を使用します。例えば:

Sudo apt purge mysql * Sudo apt purge mariadb *

0
cristian ayala