MySQLでのレプリケーションの設定Vine Linuxでやったのと、まったく同じ作業でできた。 レプリケーションとは通常、データベースを別のサーバに複製することを、「レプリケーション」という。 レプリケーションのメリットは、次のとおり。
MySQLは標準でレプリケーション機能を備えているが、 その方式は「マスタ-スレーブ方式」で、 データベースの更新を受け付ける「マスタ」と、 マスタから伝搬されたデータを受け付ける「スレーブ」からなる、 一方通行の複製になる。 細かいことは、参照先のページを見ること。 今回の目的まったく同一構成の2台のマシンがあるので、 1台をマスタ、もう1台をスレーブにして、 データベースのバックアップと冗長化をはかる。 レプリケーション用のユーザの作成スレーブがマスタに接続するための専用ユーザを、マスタで作成する。 与える権限は「REPLICATION」「SLAVE」のみ。 今回は、ユーザ名「repl」、パスワード「password」で、 どのコンピュータからの接続も受け付ける('%')ようにする。 master# mysql -u root -p ... mysql> GRANT REPLICATION SLAVE ON *.* TO repl@'%' IDENTIFIED BY 'password'; マスターのデータをスレーブにコピーマスターの全データを、スレーブにコピーする。 今回は、稼働中のデータベースにレプリケーションを設定するため、 次のようなややこしい操作をする。 詳細は、参考に書いたページを見ること。
スレーブを開始するスレーブのための設定をする。 ここからの作業は、失敗してもマスタには影響がないので、 何回でもやり直しできる。
参考 |