MySQLレプリケーションの設定と活用

2024/07/14
x-logoline-logo

MySQLレプリケーションの設定と活用

2024/07/14
x-logoline-logo
PR

今回は、MySQLレプリケーションの設定方法とその活用方法について紹介します。

MySQLレプリケーションとは?

MySQLレプリケーションとは、一つのデータベース(マスター)から別のデータベース(スレーブ)にデータをコピーする仕組みのことです。これによって、データのバックアップや、複数の場所で同じデータを使った解析ができるようになります。

レプリケーションのメリット

MySQLレプリケーションを使うと、次のようなメリットがあります。

  • データのバックアップがしやすい
  • データの読み取り負荷を分散できる
  • システム障害時にデータを失わずに済む

MySQLレプリケーションの設定手順

ステップ1 マスター側の設定

まず、マスター側のMySQL設定を行います。以下の設定を my.cnf ファイルに追加しましょう。


[mysqld]
server-id=1
log_bin=mysql-bin

設定を保存し、MySQLを再起動します。

ステップ2 リプリケーション用ユーザーの作成

マスター側でリプリケーション用のユーザーとパスワードを作成します。


CREATE USER 'repl_user'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%';

これでユーザーの準備ができました。

ステップ3 スレーブ側の設定

次に、スレーブ側の設定を行います。スレーブ側の my.cnf に以下の設定を追加してください。


[mysqld]
server-id=2

設定を保存し、MySQLを再起動します。

ステップ4 スレーブ側でリプリケーションの開始

最後に、スレーブ側でリプリケーションを開始します。


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レプリケーションはデータのバックアップや負荷分散にとても有効です。設定手順もシンプルなので、ぜひ試してみてください。

この記事はAIを使用して作成されています。
PR