MySQLバージョンをアップグレードする方法
現在のMySQLバージョン:5.5.40
ターゲットMySQLバージョン:MySQL 5.7
OS:CentOSリリース6.5(最終)
アップグレードパスはMySQL 5.5-> MySQL 5.6-> MySQL 5.7です
https://dev.mysql.com/doc/refman/5.7/en/upgrading.html を参照してください
おそらく最も簡単な方法は、古いDBバージョンをmysqldumpでダンプし、それを5.7の新しいDBに復元することです。
プロセスがどれだけスムーズに進むかは、5.5で使用している5.7のドロップされた機能の数によって異なります。
私の場合、5.7で削除された唯一の機能はtimestamp default '0000-00-00 00:00:00'でした。これに対する修正は、実行することでしたsedダンプファイルで '' 0000-00-00 00:00:00 'をCURRENT_TIMESTAMPに置き換えます
sed -i.bu 's /'\'' 0000-00-00 00:00:00 '\' '/ CURRENT_TIMESTAMP/g' fixed_dumo.sql
その後、fixed_dump.sqlが新しい5.7 DBにインポートされ、スムーズに機能しました。これがお役に立てば幸いです。
ステップ1:バックアップを取る
mysqldump --lock-all-tables -u root -p --all-databases > dump.sql
ステップ2:古いmysqlを削除する
Sudo apt-get remove mysql-server
Sudo apt-get autoremove
ステップ3:mysql 5.6の新しいバージョンをインストールする
Sudo apt-get install mysql-client-5.6 mysql-client-core-5.6
Sudo apt-get install mysql-server-5.6
5.7の
wget http://dev.mysql.com/get/mysql-apt-config_0.6.0-1_all.deb
Sudo dpkg -i mysql-apt-config_0.6.0-1_all.deb
Sudo apt-get update
Sudo apt-get install mysql-server
ステップ4:データを復元する
mysql -u root -p <dump.sql
はい。 「論理アップグレード」から、5.5から5.7に移行できます。この方法:5.5-> 5.6-> 5.7は、データフォルダーを使用した「インプレース」アップグレードにのみ必要です。
私はパーティーに遅れることがありますが、ダウンタイムのない、または最小限の簡単で高速なソリューションは、AWS Database-Migration-Serviceです。これは、データベースを別のバージョンや他のサーバーまたはRDSにアップグレードするために使用できます。
これを試し、ダウンタイムなしで実稼働環境でMySQL5.5をMySQL5.7に変換しました。ここに同じもののデモがあります- MySQL5.5をMySQL5.7に移行する方法
手順:
現在のMySQLをマスターとして設定します
必要なユーザーでMySQL5.7を使用して新しいインスタンス/サーバーを作成します
AWS DatabaseMigrationService(DMS)にアクセスして、レプリケーションインスタンスを作成します
レプリケーションインスタンスを作成した後、ソース(MySQL5.5)およびターゲット(MySQL5.7)データベースへの接続の詳細を入力するように求められます。
DMSでタスクを作成します。これは、データ(特定のデータベースまたは特定のテーブル)を移行する基礎となるロジックになります。
タスクを開始する
タスクが完了してデータが同期したら、MySQL5.5を指すDNSエントリをMySQL5.7に切り替えるだけです
Mysqlバージョン5.5から5.7にアップグレードするための簡単な手順.
たくさんの試みが失敗した後、私はそれを次のように結論付けました:
両方とも、上記のすべてのコメントで言及されているapt-configを必要とします。
キッカーはSudo apt install mysql-**community**-server