1. 主なライブラリ構成
1. 設定ファイル /etc/my3306.cnf を変更します。
#mysql服务ID,保证整个集群环境中唯一,默认为1
server-id=1
#是否只读,1代表只读,0代表读写
read-only=0
#忽略的数据,指不需要同步的数据库
#binlog-ignore-db=mysql
#指定同步的数据库
#binlog-do-db=db01
2. MySQL サーバーを再起動します。
systemctl restart mysqld
3. mysql にログインし、リモート接続用のアカウントを作成し、マスター/スレーブ レプリケーション権限を付与します。
ユーザー s01 を作成し、パスワードを設定します。このユーザーは、任意のホスト上の MySQL サービスに接続できます。
# 'sql3306' ------ 自定义用户
# '123456' ------ 自定义密码
# '%' ------ 允许所有 ip 用户连接
create user 'sql3306'@'%' identified with mysql_native_password by '123456';
マスター/スレーブ レプリケーション権限をユーザー s01 に割り当てます。
grant replication slave on *.* to 'sql3306'@'%';
4. コマンドでバイナリログの座標を確認する
show master status;
実行結果は以下の通りです。
例証します:
file: どのログ ファイルのプッシュを開始するか。
位置: その位置からログのプッシュを開始します。
binlog_ignore_db: 同期する必要のないデータベース。
次に、ライブラリの構成から
1. 構成ファイル /etc/my3307.cnf を変更します。
# 保证此两项和主数据库配置不一样
server-id=2
read-only=1
2. MySQL サーバーを再起動します。
systemctl restart mysqld
3. mysql にログインし、メインのデータベース構成を設定します。
change replication source to source_host='192.168.60.130',source_user='sql3306',source_password='123456',source_log_file='binlog.000009',source_log_pos=4516;
4. 同期動作をオンにする
start replica;
5. マスターとスレーブの同期ステータスを表示する
show replica status\G;
実行結果は以下の通りです。
例証します:
Replica_IO_Running: はい
Replica_SQL_Running: はい
上記 2 つの項目が Yes であれば、マスター/スレーブ構成は成功したことを意味します。
3. マスター/スレーブ構成テスト
メイン ライブラリの下にライブラリ/テーブルを作成します。スレーブ ライブラリに存在するかどうかを確認します。存在する場合、マスター/スレーブ構成は成功します。存在しない場合、マスター/スレーブ構成は失敗します。!!