web-dev-qa-db-ja.com

MySQL 5.0マスターを5.5スレーブに複製しますか?

私たちは一連のサーバー/ソフトウェアのアップグレードを計画しており、興味がありました。

MySQL 5.0を実行しているRHEL5インストールがあり、CentOS 6とMySQL 5.5を実行している新しい(仮想化された)サーバーに複製したい。その後、将来的にはRHEL5マシンをCentOS6およびMySQL5.5にバンプします。可能であれば、このレプリケーションを最初に実行したいと考えています。

簡単に言えば、MySQL 5.0マスターを5.5スレーブに複製しようとした人はいますか?

6
xref

私の雇用主の クライアントのために何十回もやってきた。実際、これは1週間前に行ったばかりです。クライアントはMySQL 5.0.81を使用しており、InnoDBのパフォーマンスが低下していました。

  • 新しいDBクラスターを作成します
    • mySQL 5.5.27の実行
    • 2つのDBサーバー(ServerAおよびServerB)
    • マルチコアエンゲージメントのためのInnoDBの構成
  • マスター/スレーブ(ServerAマスターおよびServerBスレーブ)
  • 本番のスレーブで バイナリロギング および log_slave_updates を有効にします
  • mysqldumpすべてのデータベース(mysqlスキーマを除く)をプロダクションのスレーブから/root/MySQLData.sqlに
  • pt-show-grants をプロダクションマスターで/root/MySQLGrants.sqlに実行します
  • /root/MySQLGrants.sqlでServerAをロードする
  • /root/MySQLData.sqlでServerAをロードします
  • 本番のスレーブ(MySQL 5.0.81)からServerA(MySQL 5.5.27)に複製します

残されたのは

  • クライアントにアプリをシャットダウンしてもらいます
  • MySQL 5.0.81を実行しているマスターからDBVIPを削除します
  • MySQL 5.5.27を実行しているマスターでDBVIPを起動します。
  • クライアントにアプリを起動させる

結論

MySQL 5.5は以前のメジャーリリースからのレプリケーションを処理できますが、その逆はできません。

私はこれについて前に話しました

良いニュース!!!

私はすでに2012年2月6日に投稿に返答しました( MySQL 5.5.20でレプリケーション(マスター/スレーブ)をセットアップする方法? )に必要なすべての手順を示します。

ところで、MYSQLの権限をSQLコマンドとしてダンプする手順については、pt-show-grantsの個人的なエミュレーションを次に示します。

mysql -hhostaddr -umyuserid -pmypassword --skip-column-names -A -e"SELECT CONCAT('SHOW GRANTS FOR ''',user,'''@''',Host,''';') FROM mysql.user WHERE user<>''" | mysql -hhostaddr -umyuserid -pmypassword --skip-column-names -A | sed 's/$/;/g' > MySQLUserGrants.sql

試してみる !!!

UPDATE 2012-11-27 11:07 EDT

2つのDBサーバーをマスター/マスターとしてセットアップすることにした場合、循環レプリケーションをセットアップするために作成した投稿を追加したかった

7
RolandoMySQLDBA