Sudo apt-get install mysql-server
この時点でブロックに失敗する
var/lib/dpkg/info/mysql-server-5.7.postinst: line 143: /usr/share/mysql-common/configure-symlinks: No such file or directory
このバグの解決策を見つけたのは、/ var/lib/dpkg/info/mysql-server-5.7.postinstファイルの143行目にコメントすることです。
しかし、私の問題は、/var/lib/dpkg/info/mysql-server-5.7.postinstファイルを見つけることができないことです。
行き詰まった状況を取り除く方法
ps:mariadbをインストールし、グーグルの手順に従ってアンインストールしました
更新:
私は最初の答えで与えられた手順に従ったが、それでも前にそのエラーを促した
驚いたことに、今回はSudo vim /var/lib/dpkg/info/mysql-server-5.7.postinst file
できますが、143行目をコメントしますが、別のエラーを報告します。
ERROR: Unable to start MySQL server:
2017-11-26T08:51:57.033255Z 0 [Note] mysqld (mysqld 5.7.20-0ubuntu0.16.04.1-log) starting as process 22612 ...
2017-11-26T08:51:57.034651Z 0 [ERROR] You have enabled the binary log, but you haven't provided the mandatory server-id. Please refer to the proper server start-up parameters documentation
2017-11-26T08:51:57.035603Z 0 [ERROR] Aborting
Mariadbのdebソースを削除し、mysql-commonを削除してから再インストールすることで、この問題を解決しました。
do:Sudo apt edit-sources
そしてmariadbを含むものを探します:deb [Arch=AMD64,arm64,ppc64el] http://ftp.nluug.nl/db/mariadb/repo/10.3/ubuntu bionic main
#
を前に置いてコメントアウトします。その後、実行します
Sudo apt update
Sudo apt purge mysql-common
Sudo apt install mysql-common
その後、Sudo apt install mysql-server
経由でmysql-serverを適切にインストールできます。
リポジトリから消える場合、スクリプトは次のとおりです。
#!/bin/sh
set -e
case "$1" in
install)
variant="$2"
my_cnf_path="$3"
update-alternatives --install /etc/mysql/my.cnf my.cnf "$my_cnf_path" 200
;;
remove)
variant="$2"
my_cnf_path="$3"
update-alternatives --remove my.cnf "$my_cnf_path"
;;
esac
```
すべてのmysqlパッケージを削除して再インストールするだけです。
Sudo apt-get remove --purge *mysql*
Sudo apt-get autoremove
Sudo apt-get autoclean
Sudo apt-get install mysql-server mysql_secure_installation
インストールスクリプトが探していた空のファイルを追加し、すべてのユーザーにrwx権限を付与することで問題を修正しました。おそらく最良の方法ではありませんが、私にとってはうまくいきました。
Sudo touch /usr/share/mysql-common/configure-symlinks
Sudo chmod 777 /usr/share/mysql-common/configure-symlinks
Sudo apt-get update
Sudo apt-get upgrade