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」を参照してください。 呼び出し-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ファイルが存在する場所を確認できます。空のデータベースに役立ちます。データベースに何かがある場合は、まずバックアップを作成する必要があります。
答え2
努力する
apt dist-upgrade
または
apt install aptitude
aptitude install mariadb-server
適性は非常に強力な依存関係解決プログラムを持っています。