web-dev-qa-db-ja.com

mariadbが失敗した後のmysql-serverのインストール

Kubuntu 17.04を使用します。 mariadbをインストールしようとしましたが、機能しませんでしたので、mysqlに戻そうとしています。ただし、mysqlをインストールしようとすると、もう動作しません。

~# apt-get install mysql-server
Reading package lists... Done
Building dependency tree       
Reading state information... Done
mysql-server is already the newest version (5.7.19-0ubuntu0.17.04.1).
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies.
 mysql-server : Depends: mysql-server-5.7 but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

そこで、私は提案を試してみました--fix-broken:

~# apt-get --fix-broken install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following additional packages will be installed:
  mysql-server-5.7
Suggested packages:
  tinyca
The following NEW packages will be installed
  mysql-server-5.7
0 to upgrade, 1 to newly install, 0 to remove and 0 not to upgrade.
5 not fully installed or removed.
Need to get 3,363 kB of archives.
After this operation, 50.0 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
Get:1 http://gb.archive.ubuntu.com/ubuntu zesty-updates/main AMD64 mysql-server-5.7 AMD64 5.7.19-0ubuntu0.17.04.1 [3,363 kB]
Fetched 3,363 kB in 1s (3,049 kB/s)           
Preconfiguring packages ...
Selecting previously unselected package mysql-server-5.7.
(Reading database ... 304498 files and directories currently installed.)
Preparing to unpack .../mysql-server-5.7_5.7.19-0ubuntu0.17.04.1_AMD64.deb ...
Failed to stop mysql.service: Unit mysql.service not loaded.
invoke-rc.d: initscript mysql, action "stop" failed.
invoke-rc.d returned 5
There is a MySQL server running, but we failed in our attempts to stop it.
Stop it yourself and try again!
dpkg: error processing archive /var/cache/apt/archives/mysql-server-5.7_5.7.19-0ubuntu0.17.04.1_AMD64.deb (--unpack):
 subprocess new pre-installation script returned error exit status 1
Errors were encountered while processing:
 /var/cache/apt/archives/mysql-server-5.7_5.7.19-0ubuntu0.17.04.1_AMD64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

今少し立ち往生しています。誰かが私のシステムを再び安定させるのを手伝ってくれますか?

更新:推奨コマンドを実行しようとしましたが、問題は解決しませんでした:

~$ Sudo service mysql stop
Failed to stop mysql.service: Unit mysql.service not loaded.

~$ Sudo apt -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following additional packages will be installed:
  mysql-server-5.7
Suggested packages:
  tinyca
The following NEW packages will be installed
  mysql-server-5.7
0 to upgrade, 1 to newly install, 0 to remove and 5 not to upgrade.
5 not fully installed or removed.
Need to get 0 B/3,363 kB of archives.
After this operation, 50.0 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
Preconfiguring packages ...
(Reading database ... 304498 files and directories currently installed.)
Preparing to unpack .../mysql-server-5.7_5.7.19-0ubuntu0.17.04.1_AMD64.deb ...
Failed to stop mysql.service: Unit mysql.service not loaded.
invoke-rc.d: initscript mysql, action "stop" failed.
invoke-rc.d returned 5
There is a MySQL server running, but we failed in our attempts to stop it.
Stop it yourself and try again!
dpkg: error processing archive /var/cache/apt/archives/mysql-server-5.7_5.7.19-0ubuntu0.17.04.1_AMD64.deb (--unpack):
 subprocess new pre-installation script returned error exit status 1
Errors were encountered while processing:
 /var/cache/apt/archives/mysql-server-5.7_5.7.19-0ubuntu0.17.04.1_AMD64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

~$ Sudo pkill mysqld
~$ Sudo killall mysqld
mysqld: no process found

~$ Sudo apt -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following additional packages will be installed:
  mysql-server-5.7
Suggested packages:
  tinyca
The following NEW packages will be installed
  mysql-server-5.7
0 to upgrade, 1 to newly install, 0 to remove and 5 not to upgrade.
5 not fully installed or removed.
Need to get 0 B/3,363 kB of archives.
After this operation, 50.0 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
Preconfiguring packages ...
(Reading database ... 304498 files and directories currently installed.)
Preparing to unpack .../mysql-server-5.7_5.7.19-0ubuntu0.17.04.1_AMD64.deb ...
Failed to stop mysql.service: Unit mysql.service not loaded.
invoke-rc.d: initscript mysql, action "stop" failed.
invoke-rc.d returned 5
There is a MySQL server running, but we failed in our attempts to stop it.
Stop it yourself and try again!
dpkg: error processing archive /var/cache/apt/archives/mysql-server-5.7_5.7.19-0ubuntu0.17.04.1_AMD64.deb (--unpack):
 subprocess new pre-installation script returned error exit status 1
Errors were encountered while processing:
 /var/cache/apt/archives/mysql-server-5.7_5.7.19-0ubuntu0.17.04.1_AMD64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
4
Kees

Ubuntu 17.04でMySQLからMariaDBにアップグレードしようとすると同じ問題に直面しました。インストール後スクリプトがサーバーの起動に失敗したと考えたため、MariaDBをインストールできませんでした(タイムアウトエラーがサーバー開始しました) 。インストールスクリプトがサーバーを停止できないと判断したため、MySQLに戻すことはできませんでした実際に停止した場合でも

Aptを使用したアンインストールは、MySQLクライアントライブラリに応じてすべてのパッケージをアンインストールしようとするため、困難でやり過ぎです。

MySQLに戻り、MariaDBへのアップグレードを実行するための私のソリューションを次に示します。

1)MariaDBおよびMySQLパッケージをすべて検出

apt search mariadb | grep "\[install"

そして

apt search mysql | grep "\[install"

2)すべてのMariaDBおよびMySQLパッケージ(サーバー、クライアント、ライブラリ)を強制的にアンインストールして、混乱を取り除きます

Sudo dpkg --force depends --purge <package> <package> ...

)/ etcおよび/ var/lib/mysqlの残りのデータを消去

NB:最初にMariaDBまたはMySQLの両方を設定ファイルとデータファイルと共にインストールしようとしましたが、毎回失敗しました。

Sudo rm -rf /var/lib/mysql* /etc/mysql

MySQLにこだわり、最初のMariaDBアップグレード試行から/var/lib/mysql-5.7に/ var/lib/mysqlのコピーがない場合は、/ var/lib/mysql/varを移動するだけです/lib/mysql-5.7を削除する代わりに。

4)システムの修正

Sudo apt-get --fix-broken install
Sudo apt autoremove
Sudo reboot

5)MySQLデータを取り戻す

--fix-broken installはクリーンなMySQLを再インストールしました(Ubuntuがそのように気に入っているようだからMariaDBではありません)。

Sudo service mysql stop
mv /var/lib/mysql*5.7 /var/lib/mysql
Sudo service mysql start

ステップ6に進みたい場合は、すべてのデータベースを今すぐバックアップにしてください。

6)最後にMariaDBにアップグレード

バックアップがすでにある場合は、手順5をスキップできます。

Sudo apt-get install mariadb-server

はい、最初は試しましたが、今回は動作します! MariaDBはMySQL 5.7ベースをアップグレードしたくないため、データベースユーザーを再作成してからデータベースを復元できます。

4
ChrisAga