最近、テスト環境の[MySQL](https://cloud.tencent.com/product/cdb?from=10680)を5.6から5.7にアップグレードする必要があります。
最初に、アップグレードをシミュレートするためにUbuntu14仮想マシンをセットアップしました。
様々なピットレコードを開始
このスキームはスキップできます、それはすべてピットです。
Ubuntu14 MySQL Upgrade 5.7
を検索すると、多くの結果があります
調べてみると、処理方法はすべて同じで、みんなこうやってアップグレードしているので、問題があるのではないかと思います。
sudo wget https://dev.mysql.com/get/mysql-apt-config_0.8.1-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.1-1_all.deb
MySQL5.7を選択します
sudo apt update
エラーを報告しました、
次のように解決策を見つけます
apt-key list //すべての署名を表示,期限切れの署名が見つかりました
apt-key del 5072E1F5 //期限切れの署名を削除する//署名を再インポートする
apt-key adv --keyserver pgp.mit.edu --recv-keys A4A9406876FCBD3C456770C88C718D3B5072E1F5
//再度実行する
apt update
apt install mysql-server
それから、あらゆる種類のエラー報告トリップがあります、私はそれらを一つずつ数えません。
昨夜9時から午前1時、そして午前9時から午後5時までの間に、テストで使用した仮想マシンをM回リセットし、N個の問題に遭遇し、N-1個の問題を解決しました。
結局、私はあきらめました。それはすべて嘘でした。
アップデートは失敗します。いつでも再インストールできます。
データベースデータのバックアップ
ここでは、データベースに絵文字が存在するため、utf8mb4エンコーディングが使用されます。
mysqldump -u root -p --default-character-set=utf8mb4 --all-databases > sql.sql
問題を防ぐために、バックアップデータベースファイルはテスト5.7を見つけてインポートするのに最適です。
バックアップ構成ファイル
sudo tar zcvf mysql_config.tar.gz /etc/mysql/
インストールされているMySQLを表示する
dpkg -l | grep mysql
アンインストール手順:
mysql関連がまだあるかどうかを再確認します
dpkg -l | grep mysql
アンインストールが完了していない場合は、 dpkg -l | grep ^ rc | awk '{print $ 2}' | sudo xargs dpkg -P
を実行して、残りのmysqlファイルをクリーンアップします。
# タールをダウンロード,国産ミラーを使用,より速くなります
wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-server_5.7.25-1ubuntu14.04_amd64.deb-bundle.tar
# 解凍
tar -xvf mysql-server_5.7.25-1ubuntu14.04_amd64.deb-bundle.tar
# インストールを開始します
sudo apt update
sudo dpkg -i mysql-common_5.7.25-1ubuntu14.04_amd64.deb
sudo dpkg -i libmysqlclient20_5.7.25-1ubuntu14.04_amd64.deb
sudo dpkg -i libmysqlclient-dev_5.7.25-1ubuntu14.04_amd64.deb
sudo dpkg -i libmysqld-dev_5.7.25-1ubuntu14.04_amd64.deb
# 次の手順には依存関係が必要です
sudo apt install libaio1
sudo dpkg -i mysql-community-client_5.7.25-1ubuntu14.04_amd64.deb
sudo dpkg -i mysql-client_5.7.25-1ubuntu14.04_amd64.deb
sudo dpkg -i mysql-community-source_5.7.25-1ubuntu14.04_amd64.deb
# インストールの依存関係
sudo apt install libmecab2
# この手順では、データベースのrootユーザーのパスワードを入力するように求められます
# ここに入力するパスワードは、元のパスワードと同じである必要があります,データは後で復元されるため,パスワードは上書きされます
sudo dpkg -i mysql-community-server_5.7.25-1ubuntu14.04_amd64.deb
インストールが完了しました。ログインしてみてください
service mysql start
# バージョンは5です.7,正しい
mysql -u root -p
インストールが完了しました!!!
# バックアップされた最初のデータベースファイル
mysql -u root -p < sql.sql
元の構成ファイルを参照し、現在の構成ファイルを変更します
また、アンインストールやインストールの際にもたくさんのピットを踏んでいました。上記のステップは、実験を経てようやく使えるものです。
上記の手順を仮想マシンで20回近くテストしましたが、問題があるはずです。次に、テスト環境を移動できます。明日、さようならに移動しましょう。
Recommended Posts