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)
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ベースをアップグレードしたくないため、データベースユーザーを再作成してからデータベースを復元できます。