今回は、MySQLレプリケーションの設定方法とその活用方法について紹介します。
MySQLレプリケーションとは、一つのデータベース(マスター)から別のデータベース(スレーブ)にデータをコピーする仕組みのことです。これによって、データのバックアップや、複数の場所で同じデータを使った解析ができるようになります。
MySQLレプリケーションを使うと、次のようなメリットがあります。
まず、マスター側のMySQL設定を行います。以下の設定を my.cnf
ファイルに追加しましょう。
[mysqld]
server-id=1
log_bin=mysql-bin
設定を保存し、MySQLを再起動します。
マスター側でリプリケーション用のユーザーとパスワードを作成します。
CREATE USER 'repl_user'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%';
これでユーザーの準備ができました。
次に、スレーブ側の設定を行います。スレーブ側の my.cnf
に以下の設定を追加してください。
[mysqld]
server-id=2
設定を保存し、MySQLを再起動します。
最後に、スレーブ側でリプリケーションを開始します。
CHANGE MASTER TO
MASTER_HOST='マスターのIPアドレス',
MASTER_USER='repl_user',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=4;
START SLAVE;
これでスレーブがマスターからデータをコピーし始めます。レプリケーションの状態を確認するには、以下のコマンドを使ってください。
SHOW SLAVE STATUS\G;
いかがでしたか?今回学んだ内容をまとめると、MySQLレプリケーションはデータのバックアップや負荷分散にとても有効です。設定手順もシンプルなので、ぜひ試してみてください。