MySQL 5.7.25を搭載したUbuntuサーバー18.04にDrupalサイト8.6.10があります。
MySQLをバージョン8.0に更新したい
これが私が従った手順です:
データベースをバックアップしました。
次のコマンドを使用して、MySQLをサーバーからアンインストールしました。
$ Sudo systemctl stop mysql
$ Sudo apt remove mysql-*
$ Sudo apt purge mysql-*
$ Sudo apt autoremove
$ Sudo dpkg -l | grep mysql | grep ii
私はコマンドでリポジトリを追加しました:
$ wget https://repo.mysql.com//mysql-apt-config_0.8.12-1_all.deb
次のコマンドでパッケージをインストールしました。
$ Sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb
私の問題:
次のコマンドでMySQLをインストールします。
$ Sudo apt update
$ Sudo apt install mysql-server
手順5を実行すると、MySQL 5.7がインストールされますが、バージョン8がインストールされないのはなぜですか?
基本的にmysql-apt-config_0.8.12-1_all.debは、MySQLのリポジトリとキーを追加するパッケージです。このパッケージのインストール中に、どこかで間違った選択をしたようです。そのdebパッケージが手動で行うことを行うことができます。
まず、Sudo権限で新しいテキストファイルを作成します。
Sudo nano /etc/apt/sources.list.d/mysql.list
次の行を追加します。
deb http://repo.mysql.com/apt/ubuntu/ bionic mysql-apt-config
deb http://repo.mysql.com/apt/ubuntu/ bionic mysql-8.0
deb http://repo.mysql.com/apt/ubuntu/ bionic mysql-tools
#deb http://repo.mysql.com/apt/ubuntu/ bionic mysql-tools-preview
deb-src http://repo.mysql.com/apt/ubuntu/ bionic mysql-8.0
必要なパッケージに応じて、リポジトリをコメント/コメント解除できます。保存して終了 Ctrl+X に続く Y。
Ubuntuの他のバージョンを使用している場合は、bionic
をsed
を使用して現在インストールされているUbuntuシステムの codename に置き換える必要があります。
Sudo sed -i 's/bionic/'$(lsb_release -sc)'/' /etc/apt/sources.list.d/mysql.list
次に実行します
Sudo apt update
次のようなエラーが発生します
Err:1 http://repo.mysql.com/apt/ubuntu bionic InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY <some key value>
このキーを使用して追加
Sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <key value>
MySQLを更新してインストールする
Sudo apt update
Sudo apt install mysql-server
注:
$ Sudo systemctl stop mysql
$ Sudo apt remove mysql-*
$ Sudo apt purge mysql-*
$ Sudo apt autoremove
$ Sudo dpkg -l | grep mysql | grep ii
$ wget https://repo.mysql.com//mysql-apt-config_0.8.12-1_all.deb
$ Sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb
$ Sudo sed -i 's/bionic/'$(lsb_release -sc)'/' /etc/apt/sources.list.d/mysql.list
$ Sudo apt update
この一連のコマンドがうまくいきました。インストール前にバージョンを確認するには
Sudo apt-cache policy mysql-server
しかし、私はまだ他のパッケージをキャッシュから削除する方法を知りません。
インストール入力を完了するには
Sudo apt install mysql-server