web-dev-qa-db-ja.com

MySQLサーバーを5.0.67から最新にアップグレードするにはどうすればよいですか?

私のサーバーにあるmysqlの現在のバージョンは5.0.67です。最新バージョンにアップグレードしたいのですが。私がここで読んだものに基づいて: https://dev.mysql.com/doc/refman/5.5/en/upgrading.html 、これは私の計画です:

  1. データベースへの接続を強制終了(Apacheを停止するなど)
  2. 現在のデータベース(mysqlデータベースを含む)とログファイルのバックアップを作成する
  3. 一度に1つのリリースをアップグレード(5.0.67-> 5.7.10)

    • 最新の5.0.x – 5.0.96にアップグレード
    • 5.1.xにアップグレード
    • 5.5.xにアップグレード
    • 5.6.xにアップグレード
    • 5.7.xにアップグレード

4.論理的または一括アップグレード?

ここでどのオプションを選択すればよいのか、実際にはどのような違いがあるのか​​などわかりません。

現在、インストールされているソースRPMはmysql-5.0.67-12.15.src.rpmです。 http://downloads.mysql.com/archives/community/何をダウンロードする必要があるのか​​わかりません。または、コマンドラインから更新できますか?SuSE Enterprise Linux 11を使用しています。

編集:ここに私の更新された手順があります:

1。 5.1.xにアップグレード(mysqldump)

私。 mysqldumpを使用してすべてのデータベース/スキーマをダンプする

ii。 MySQLサーバーをシャットダウンする

iii。新しいMySQL 5.1.xサーバーインスタンスを初期化する

iv。ダンプファイルを新しいMySQL 5.1.xサーバーにロードする

v。mysql_upgradeを実行します

vi。ヘルプテーブルの読み込み

vii。すべてのテーブルのステータスに対してmysqlcheckを実行します

2。 5.5.xへのアップグレード(一括アップグレード)(5.6.xおよび5.7.xの手順を繰り返します)

私。 MySQLサーバーをシャットダウンする

ii。 MySQLサーバーのバックアップ

iii。ディレクトリを新しいサーバーバージョンに変更する

iv。 MySQLサーバーを起動します

v。mysql_upgradeを実行します

vi。ヘルプテーブルの読み込み

vii。 MySQLサーバーのシャットダウン/再起動

viii。すべてのテーブルのステータスに対してmysqlcheckを実行します

何か不足していますか?

2
AllisonC

ここから5.0から5.6/5.7へのアップグレードについて書かれた2つのブログがあります: http://mysqlserverteam.com/upgrading-directly-from-mysql-5-0-to-5-6-with-mysqldump/http://mysqlserverteam.com/upgrading-directly-from-mysql-5-0-to-5-7-using-an-in-place-upgrade/

私の提案は:

  • 現在の5.0.xインスタンスからデータベースのmysqldumpを使用してバックアップを取る
  • Mysqldumpファイルを5.1.xの新しい(最新バージョン)インスタンスに復元します。
  • 5.1.xから5.5.xへ、5.6.xから5.7.xへの「一括」アップグレードを実行します。必ずmysql_upgradeアップグレードの間。
  • アップグレードの前後に必ずエラーログを確認してください
1
jerichorivera

レプリケーションスレーブは、可能な制限に応じて常にマスターの1つの古いバージョンをサポートするため、レプリケーションスレーブのチェーンをセットアップすることもできます。

  • マスター:5.0
  • Slave1(マスターのスレーブ):5.1
  • スレーブ2(スレーブ1のスレーブ):5.5
  • スレーブ3(スレーブ2のスレーブ):5.6
  • Slave4(Slave3のスレーブ):5.7

スレーブが追いついたら(遅延なし)、アプリを停止し、STOP SLAVEを発行します。 Slave4上で、Slave4を新しいマスターとして使用してアプリを再開します。それほど多くのマシンがない場合は、段階的に複数回実行できます。いくつかのバージョンをスキップすることで問題を回避できる場合があり、マスターを中断することなく、試してみるだけでこれを確認できるはずです。

0
ColinM