LoginSignup
2
3

More than 1 year has passed since last update.

[OCI]東京リージョンのMDS(MySQL DB System)と大阪リージョンのMDSの間でレプリケーションを構成してみた

Last updated at Posted at 2021-11-19

はじめに

東京リージョンに作成したMySQL DBシステムと大阪リージョンに作成したMySQL DBシステムの間でレプリケーションを構成する手順を検証してみました。
VCN_Peering_DNS_Integration.jpg

0.ネットワークの準備

こちらの記事の1.〜3.と同様に、東京リージョン、大阪リージョンそれぞれにVCNを作成、VCN間をリモートVCNピアリングで接続し、VNC間で相互にDNSを参照できるようにしておきます。

また、VCN_TokyoとVCN_Osakaの間で、MySQLが使用する通信(TCP 3306/33060)ができるよう、セキュリティ・リストを適切に設定します。

1.MySQL DB Systemの作成

東京リージョン、大阪リージョンにMySQL DBシステムを作成します。

<東京リージョン>

項目
名前 MDS Tokyo
構成 スタンドアロン
管理者資格証明ユーザ名 admin
パスワード Demo#1Demo#1
パスワードの確認 Demo#1Demo#1
仮想クラウド・ネットワーク VCN_Tokyo
サブネット Subnet_Tokyo
可用性ドメイン  AD-1
シェイプの選択 任意のシェイプ
データ・ストレージ・サイズ(GB)  任意の容量
ネットワーキング:ホスト名 mds-tokyo
ネットワーキング:IPアドレス 10.0.1.200
ネットワーキング:MySQLポート 3306
ネットワーキング:MySQL Xプロトコル・ポート 33060

<大阪リージョン>

項目
名前 MDS Osaka
構成 スタンドアロン
管理者資格証明ユーザ名 admin
パスワード Demo#1Demo#1
パスワードの確認 Demo#1Demo#1
仮想クラウド・ネットワーク VCN_Osaka
サブネット Subnet_Osaka
可用性ドメイン  AD-1
シェイプの選択 任意のシェイプ
データ・ストレージ・サイズ(GB)  任意の容量
ネットワーキング:ホスト名 mds-osaka
ネットワーキング:IPアドレス 10.1.1.200
ネットワーキング:MySQLポート 3306
ネットワーキング:MySQL Xプロトコル・ポート 33060

2.作業用のComputeインスタンスの作成と準備

東京リージョンのSubnet_Tokyoに作業用のComputeインスタンスを作成します。
今回はOSはOracle Linux 7.9を選択しました。

作成したComputeインスタンスにopcユーザでSSH接続します。

MySQL Shellをインストールします。

sudo yum install -y mysql-shell

OCI CLIをインストールします。

sudo yum install -y python36-oci-cli

環境に合わせてOCI CLIをセットアップします。

oci setup config

3.ダンプ用のオブジェクト・ストレージ・バケットの作成

今回は「forMDS」という名前のバケットを東京リージョンに作成しました。
スクリーンショット 2021-11-19 9.45.56.png

4.MySQL Shellの接続確認

MySQL Shellから東京リージョンに作成したMDS「MDS Tokyo」に接続できることを確認します。

[opc@mds-client ~]$ mysqlsh admin@mds-tokyo.subnettokyo.vcntokyo.oraclevcn.com
Please provide the password for 'admin@mds-tokyo.subnettokyo.vcntokyo.oraclevcn.com': ************
MySQL Shell 8.0.27

Copyright (c) 2016, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.

Type '\help' or '\?' for help; '\quit' to exit.
Creating a session to 'admin@mds-tokyo.subnettokyo.vcntokyo.oraclevcn.com'
Fetching schema names for autocompletion... Press ^C to stop.
Your MySQL connection id is 10 (X protocol)
Server version: 8.0.27-u1-cloud MySQL Enterprise - Cloud
No default schema selected; type \use <schema> to set one.
 MySQL  mds-tokyo.subnettokyo.vcntokyo.oraclevcn JS > \q
Bye!
[opc@mds-client ~]$ 

同様に、MySQL Shellから大阪リージョンに作成したMDS「MDS Osaka」に接続できることを確認します。

[opc@mds-client ~]$ mysqlsh admin@mds-osaka.subnetosaka.vcnosaka.oraclevcn.com
Please provide the password for 'admin@mds-osaka.subnetosaka.vcnosaka.oraclevcn.com': ************
MySQL Shell 8.0.27

Copyright (c) 2016, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.

Type '\help' or '\?' for help; '\quit' to exit.
Creating a session to 'admin@mds-osaka.subnetosaka.vcnosaka.oraclevcn.com'
Fetching schema names for autocompletion... Press ^C to stop.
Your MySQL connection id is 11 (X protocol)
Server version: 8.0.27-u1-cloud MySQL Enterprise - Cloud
No default schema selected; type \use <schema> to set one.
 MySQL  mds-osaka.subnetosaka.vcnosaka.oraclevcn JS > \q
Bye!
[opc@mds-client ~]$ 

5.レプリケーションのソースとなるDB「MDS Tokyo」の準備

MySQL Shellから「MDS Tokyo」に接続します。

[opc@mds-client ~]$ mysqlsh admin@mds-tokyo.subnettokyo.vcntokyo.oraclevcn.com
Please provide the password for 'admin@mds-tokyo.subnettokyo.vcntokyo.oraclevcn.com': ************
MySQL Shell 8.0.27

Copyright (c) 2016, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.

Type '\help' or '\?' for help; '\quit' to exit.
Creating a session to 'admin@mds-tokyo.subnettokyo.vcntokyo.oraclevcn.com'
Fetching schema names for autocompletion... Press ^C to stop.
Your MySQL connection id is 10 (X protocol)
Server version: 8.0.27-u1-cloud MySQL Enterprise - Cloud
No default schema selected; type \use <schema> to set one.
 MySQL  mds-tokyo.subnettokyo.vcntokyo.oraclevcn JS > 

MySQL Shellの実行モードをSQLに切り替えます。

 MySQL  mds-tokyo.subnettokyo.vcntokyo.oraclevcn JS > \sql
Switching to SQL mode... Commands end with ;

「testdb」スキーマを作成します。

 MySQL  mds-tokyo.subnettokyo.vcntokyo.oraclevcn SQL > CREATE DATABASE testdb;

Query OK, 1 row affected (0.0034 sec)

接続先を「testdb」に切り替えます。

 MySQL  mds-tokyo.subnettokyo.vcntokyo.oraclevcn SQL > use testdb;
Default schema set to `testdb`.
Fetching table and column names from `testdb` for auto-completion... Press ^C to stop.

レプリケーション動作を確認するためのテーブル「dept」を作成します。

 MySQL  mds-tokyo.subnettokyo.vcntokyo testdb  SQL > CREATE TABLE dept (
                                                  -> deptno INT,
                                                  -> dname VARCHAR(14),
                                                  -> loc VARCHAR(13),
                                                  -> PRIMARY KEY (deptno) 
                                                  -> );
Query OK, 0 rows affected (0.0155 sec)

テーブル「dept」にデータを追加します。

 MySQL  mds-tokyo.subnettokyo.vcntokyo testdb  SQL > INSERT INTO dept VALUES (10,'ACCOUNTING','NEW YORK');
Query OK, 1 row affected (0.0046 sec)
 MySQL  mds-tokyo.subnettokyo.vcntokyo testdb  SQL > INSERT INTO dept VALUES (20,'RESEARCH','DALLAS');
Query OK, 1 row affected (0.0028 sec)

テーブル「dept」の内容を確認します。

 MySQL  mds-tokyo.subnettokyo.vcntokyo testdb  SQL > select * from dept;
+--------+------------+----------+
| deptno | dname      | loc      |
+--------+------------+----------+
|     10 | ACCOUNTING | NEW YORK |
|     20 | RESEARCH   | DALLAS   |
+--------+------------+----------+
2 rows in set (0.0006 sec)
 MySQL  mds-tokyo.subnettokyo.vcntokyo testdb  SQL >

MySQL Shellを終了します。

 MySQL  mds-tokyo.subnettokyo.vcntokyo testdb SQL > \q
Bye!
[opc@mds-client ~]$

6.ソースDBのオブジェクト・ストレージへのエクスポート

MySQL Shellから「MDS Tokyo」に接続します。

[opc@mds-client ~]$ mysqlsh admin@mds-tokyo.subnettokyo.vcntokyo.oraclevcn.com
Please provide the password for 'admin@mds-tokyo.subnettokyo.vcntokyo.oraclevcn.com': ************
MySQL Shell 8.0.27

Copyright (c) 2016, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.

Type '\help' or '\?' for help; '\quit' to exit.
Creating a session to 'admin@mds-tokyo.subnettokyo.vcntokyo.oraclevcn.com'
Fetching schema names for autocompletion... Press ^C to stop.
Your MySQL connection id is 10 (X protocol)
Server version: 8.0.27-u1-cloud MySQL Enterprise - Cloud
No default schema selected; type \use <schema> to set one.
 MySQL  mds-tokyo.subnettokyo.vcntokyo.oraclevcn JS > 

「util.dumpInstance」コマンドで「MDS Tokyo」をバケット「forMDS」にエクスポートします。

 MySQL  mds-tokyo.subnettokyo.vcntokyo.oraclevcn JS > util.dumpInstance("",{osBucketName: "forMDS", ocimds: true, threads: 2, compatibility: ["strip_definers", "strip_restricted_grants"]})
Acquiring global read lock
Global read lock acquired
Initializing - done 
Gathering information - done 
All transactions have been started
Locking instance for backup
Global read lock has been released
Checking for compatibility with MySQL Database Service 8.0.27
NOTE: User 'admin'@'%' had restricted privileges (BACKUP_ADMIN, FLUSH_TABLES, PROXY, ROLE_ADMIN) removed
NOTE: User 'administrator'@'%' had restricted privileges (BACKUP_ADMIN, FLUSH_TABLES, ROLE_ADMIN) removed
NOTE: User 'ociadmin'@'127.0.0.1' had restricted privileges (AUDIT_ADMIN, AUTHENTICATION_POLICY_ADMIN, BACKUP_ADMIN, BINLOG_ADMIN, BINLOG_ENCRYPTION_ADMIN, CLONE_ADMIN, CREATE TABLESPACE, ENCRYPTION_KEY_ADMIN, FILE, FLUSH_OPTIMIZER_COSTS, FLUSH_STATUS, FLUSH_TABLES, FLUSH_USER_RESOURCES, GROUP_REPLICATION_ADMIN, GROUP_REPLICATION_STREAM, INNODB_REDO_LOG_ARCHIVE, INNODB_REDO_LOG_ENABLE, PASSWORDLESS_USER_ADMIN, PERSIST_RO_VARIABLES_ADMIN, PROXY, RELOAD, REPLICATION_SLAVE_ADMIN, ROLE_ADMIN, SERVICE_CONNECTION_ADMIN, SESSION_VARIABLES_ADMIN, SET_USER_ID, SHOW_ROUTINE, SHUTDOWN, SUPER, SYSTEM_USER, SYSTEM_VARIABLES_ADMIN, TABLE_ENCRYPTION_ADMIN) removed
NOTE: User 'ocirpl'@'%' had explicit grants on mysql schema object `mysql`.`slave_master_info` removed
NOTE: User 'ocirpl'@'%' had restricted privileges (SERVICE_CONNECTION_ADMIN, SYSTEM_USER) removed
NOTE: Database testdb had unsupported ENCRYPTION option commented out
Compatibility issues with MySQL Database Service 8.0.27 were found and repaired. Please review the changes made before loading them.
Validating MDS compatibility - done       
Writing global DDL files
Writing users DDL
Running data dump using 2 threads.
NOTE: Progress information uses estimated values and may not be accurate.
Writing schema metadata - done       
Writing DDL - done       
Writing table metadata - done       
Starting data dump
100% (2 rows / ~2 rows), 0.00 rows/s, 0.00 B/s uncompressed, 0.00 B/s compressed
Dump duration: 00:00:00s
Total duration: 00:00:00s
Schemas dumped: 1
Tables dumped: 1
Uncompressed data size: 42 bytes
Compressed data size: 51 bytes
Compression ratio: 0.8
Rows written: 2
Bytes written: 51 bytes
Average uncompressed throughput: 42.00 B/s
Average compressed throughput: 51.00 B/s
 MySQL  mds-tokyo.subnettokyo.vcntokyo.oraclevcn JS > 

MySQL Shellを終了します。

 MySQL  mds-tokyo.subnettokyo.vcntokyo testdb JS > \q
Bye!
[opc@mds-client ~]$

7.オブジェクト・ストレージからターゲットDBへのインポート

MySQL Shellから「MDS Osaka」に接続します。

 [opc@mds-client ~]$ mysqlsh admin@mds-osaka.subnetosaka.vcnosaka.oraclevcn.com
Please provide the password for 'admin@mds-osaka.subnetosaka.vcnosaka.oraclevcn.com': ************
MySQL Shell 8.0.27

Copyright (c) 2016, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.

Type '\help' or '\?' for help; '\quit' to exit.
Creating a session to 'admin@mds-osaka.subnetosaka.vcnosaka.oraclevcn.com'
Fetching schema names for autocompletion... Press ^C to stop.
Your MySQL connection id is 17 (X protocol)
Server version: 8.0.27-u1-cloud MySQL Enterprise - Cloud
No default schema selected; type \use <schema> to set one.
 MySQL  mds-osaka.subnetosaka.vcnosaka.oraclevcn JS >

先ほどバケット「forMDS」にエクスポートした「MDS Tokyo」のダンプを、「util.loadDump」コマンドで「MDS Osaka」にインポートします。
こちらの例では、MySQL Shell 8.0.22から利用可能になった「updateGtidSet」オプションを使用して、レプリケーションの開始に必要となる、ターゲットDBの「gtid_purged」を自動で設定しています。

 MySQL  mds-osaka.subnetosaka.vcnosaka.oraclevcn JS >  util.loadDump("", {osBucketName: "forMDS", threads: 2, loadUsers: true, updateGtidSet: "append"})
Loading DDL, Data and Users from OCI ObjectStorage bucket=forMDS, prefix='' using 2 threads.
Opening dump...
Target is MySQL 8.0.27-u1-cloud (MySQL Database Service). Dump was produced from MySQL 8.0.27-u1-cloud
Fetching dump data from remote location...
Listing files - done 
Scanning metadata - done       
Checking for pre-existing objects...
Executing common preamble SQL
Executing DDL - done       
Executing view DDL - done       
Starting data load
Executing user accounts SQL...                      
NOTE: Skipping CREATE/ALTER USER statements for user 'admin'@'%'
NOTE: Skipping CREATE/ALTER USER statements for user 'administrator'@'%'
NOTE: Skipping CREATE/ALTER USER statements for user 'ociadmin'@'127.0.0.1'
NOTE: Skipping CREATE/ALTER USER statements for user 'ocirpl'@'%'
NOTE: Skipping GRANT statements for user 'admin'@'%'
NOTE: Skipping GRANT statements for user 'administrator'@'%'
NOTE: Skipping GRANT statements for user 'ociadmin'@'127.0.0.1'
NOTE: Skipping GRANT statements for user 'ocirpl'@'%'
NOTE: Skipping CREATE/ALTER USER statements for user 'admin'@'%'
Executing common postamble SQL                      
100% (42 bytes / 42 bytes), 0.00 B/s, 1 / 1 tables done
Recreating indexes - done       
Appending dumped gtid set to GTID_PURGED               
1 chunks (2 rows, 42 bytes) for 1 tables in 1 schemas were loaded in 1 sec (avg throughput 42.00 B/s)
0 warnings were reported during the load.              
 MySQL  mds-osaka.subnetosaka.vcnosaka.oraclevcn JS >

MySQL Shellを終了します。

 MySQL  mds-osaka.subnetosaka.vcnosaka.oraclevcn JS > \q
Bye!
[opc@mds-client ~]$ 

8.ソースDBでのレプリケーション・ユーザの作成

MySQL Shellから「MDS Tokyo」に接続します。

[opc@mds-client ~]$ mysqlsh admin@mds-tokyo.subnettokyo.vcntokyo.oraclevcn.com
Please provide the password for 'admin@mds-tokyo.subnettokyo.vcntokyo.oraclevcn.com': ************
MySQL Shell 8.0.27

Copyright (c) 2016, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.

Type '\help' or '\?' for help; '\quit' to exit.
Creating a session to 'admin@mds-tokyo.subnettokyo.vcntokyo.oraclevcn.com'
Fetching schema names for autocompletion... Press ^C to stop.
Your MySQL connection id is 32 (X protocol)
Server version: 8.0.27-u1-cloud MySQL Enterprise - Cloud
No default schema selected; type \use <schema> to set one.
 MySQL  mds-tokyo.subnettokyo.vcntokyo.oraclevcn JS >

MySQL Shellの実行モードをSQLに切り替えます。

 MySQL  mds-tokyo.subnettokyo.vcntokyo.oraclevcn JS > \sql
Switching to SQL mode... Commands end with ;
 MySQL  mds-tokyo.subnettokyo.vcntokyo.oraclevcn SQL >

レプリケーションのためのユーザー「replication_user」を作成します。

 MySQL  mds-tokyo.subnettokyo.vcntokyo.oraclevcn SQL > CREATE USER replication_user@'%' IDENTIFIED BY 'DEMO#1Demo#1' REQUIRE SSL;
Query OK, 0 rows affected (0.0081 sec)
 MySQL  mds-tokyo.subnettokyo.vcntokyo.oraclevcn SQL >

「replication_user」に必要な権限を付与します。

 MySQL  mds-tokyo.subnettokyo.vcntokyo.oraclevcn SQL > GRANT REPLICATION SLAVE on *.* to replication_user@'%';
Query OK, 0 rows affected (0.0027 sec)
 MySQL  mds-tokyo.subnettokyo.vcntokyo.oraclevcn SQL >

9.レプリケーション・チャネルの作成

「MDS Osaka」の詳細画面の「チャネル」に移動します。
スクリーンショット 2021-11-19 10.21.39.png
「チャネルを作成」をクリックします。
スクリーンショット 2021-11-19 9.58.29.png
チャネルの作成画面が表示されます。
スクリーンショット 2021-11-19 10.01.29.png
以下の内容を入力し、「チャネルの作成」をクリックします。

項目
名前 Channel to MDS Tokyo
作成時に自動的に有効化 オン
ソース接続:ホスト名 mds-tokyo.subnettokyo.vcntokyo.oraclevcn.com
ソース接続:ポート 3306
ソース接続:ユーザー名 replication_user
ソース接続:パスワード Demo#1Demo#1
ソース接続:パスワードの確認 Demo#1Demo#1
ソース接続:SSLモード 必須(REQUIRED) 
ターゲット:Applierユーザー名 admin
ターゲット:チャネル名 replication_channel(デフォルト) 

しばらく待つと、チャネルが有効になります。

10.レプリケーション動作の確認

MySQL Shellから「MDS Tokyo」に接続します。

[opc@mds-client ~]$ mysqlsh admin@mds-tokyo.subnettokyo.vcntokyo.oraclevcn.com
Please provide the password for 'admin@mds-tokyo.subnettokyo.vcntokyo.oraclevcn.com': ************
MySQL Shell 8.0.27

Copyright (c) 2016, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.

Type '\help' or '\?' for help; '\quit' to exit.
Creating a session to 'admin@mds-tokyo.subnettokyo.vcntokyo.oraclevcn.com'
Fetching schema names for autocompletion... Press ^C to stop.
Your MySQL connection id is 32 (X protocol)
Server version: 8.0.27-u1-cloud MySQL Enterprise - Cloud
No default schema selected; type \use <schema> to set one.
 MySQL  mds-tokyo.subnettokyo.vcntokyo.oraclevcn JS >

MySQL Shellの実行モードをSQLに切り替えます。

 MySQL  mds-tokyo.subnettokyo.vcntokyo testdb  JS > \sql
Switching to SQL mode... Commands end with ;
 MySQL  mds-tokyo.subnettokyo.vcntokyo testdb  SQL >

接続先を「testdb」に切り替えます。

 MySQL  mds-tokyo.subnettokyo.vcntokyo testdb  SQL > use testdb
Default schema set to `testdb`.
Fetching table and column names from `testdb` for auto-completion... Press ^C to stop.
 MySQL  mds-tokyo.subnettokyo.vcntokyo testdb  SQL >

テーブル「dept」の内容を確認します。

 MySQL  mds-tokyo.subnettokyo.vcntokyo testdb  SQL > select * from dept;
+--------+------------+----------+
| deptno | dname      | loc      |
+--------+------------+----------+
|     10 | ACCOUNTING | NEW YORK |
|     20 | RESEARCH   | DALLAS   |
+--------+------------+----------+
2 rows in set (0.0006 sec)
 MySQL  mds-tokyo.subnettokyo.vcntokyo testdb  SQL >

新しいSSH接続を開き、MySQL Shellから「MDS Osaka」に接続します。

[opc@mds-client ~]$ mysqlsh admin@mds-osaka.subnetosaka.vcnosaka.oraclevcn.com
Please provide the password for 'admin@mds-osaka.subnetosaka.vcnosaka.oraclevcn.com': ************
MySQL Shell 8.0.27

Copyright (c) 2016, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.

Type '\help' or '\?' for help; '\quit' to exit.
Creating a session to 'admin@mds-osaka.subnetosaka.vcnosaka.oraclevcn.com'
Fetching schema names for autocompletion... Press ^C to stop.
Your MySQL connection id is 11 (X protocol)
Server version: 8.0.27-u1-cloud MySQL Enterprise - Cloud
No default schema selected; type \use <schema> to set one.
 MySQL  mds-osaka.subnetosaka.vcnosaka.oraclevcn JS >

MySQL Shellの実行モードをSQLに切り替えます。

 MySQL  mds-osaka.subnetosaka.vcnosaka.oraclevcn JS > \sql
Switching to SQL mode... Commands end with ;
 MySQL  mds-osaka.subnetosaka.vcnosaka.oraclevcn SQL >

接続先を「testdb」に切り替えます。

 MySQL  mds-osaka.subnetosaka.vcnosaka.oraclevcn SQL > use testdb
Default schema set to `testdb`.
Fetching table and column names from `testdb` for auto-completion... Press ^C to stop.
 MySQL  mds-osaka.subnetosaka.vcnosaka testdb  SQL > 

テーブル「dept」の内容を確認します。

 MySQL  mds-osaka.subnetosaka.vcnosaka testdb  SQL > SELECT * FROM dept;
+--------+------------+----------+
| deptno | dname      | loc      |
+--------+------------+----------+
|     10 | ACCOUNTING | NEW YORK |
|     20 | RESEARCH   | DALLAS   |
+--------+------------+----------+
2 rows in set (0.0089 sec)
 MySQL  mds-osaka.subnetosaka.vcnosaka testdb  SQL >

「MDS Tokyo」のテーブル「dept」にレコードを追加します。

 MySQL  mds-tokyo.subnettokyo.vcntokyo testdb  SQL > INSERT INTO dept VALUES (30,'SALES','CHICAGO');
Query OK, 1 row affected (0.0023 sec)
 MySQL  mds-tokyo.subnettokyo.vcntokyo testdb  SQL >

テーブル「dept」の内容を確認します。

 MySQL  mds-tokyo.subnettokyo.vcntokyo testdb  SQL > select * from dept;
+--------+------------+----------+
| deptno | dname      | loc      |
+--------+------------+----------+
|     10 | ACCOUNTING | NEW YORK |
|     20 | RESEARCH   | DALLAS   |
|     30 | SALES      | CHICAGO  |
+--------+------------+----------+
3 rows in set (0.0010 sec)

「MDS Osaka」のテーブル「dept」の内容を確認します。

 MySQL  mds-osaka.subnetosaka.vcnosaka testdb  SQL > select * from dept;
+--------+------------+----------+
| deptno | dname      | loc      |
+--------+------------+----------+
|     10 | ACCOUNTING | NEW YORK |
|     20 | RESEARCH   | DALLAS   |
|     30 | SALES      | CHICAGO  |
+--------+------------+----------+
3 rows in set (0.0090 sec)
 MySQL  mds-osaka.subnetosaka.vcnosaka testdb  SQL >

「MDS Tokyo」のテーブル「dept」の変更内容が、「MDS Osaka」のテーブル「dept」に反映されていることが確認できました。

11.レプリケーションのステータス確認

ターゲットDB「MDS Osaka」で「show replica status」コマンドすることでレプリケーションのステータスを確認できます。

 MySQL  mds-osaka.subnetosaka.vcnosaka testdb  SQL > show replica status;
+----------------------------------+----------------------------------------------+------------------+-------------+---------------+-------------------+---------------------+--------------------------------------+---------------+-----------------------+--------------------+---------------------+-----------------+---------------------+--------------------+------------------------+-------------------------+-----------------------------+------------+------------+--------------+---------------------+-----------------+-----------------+----------------+---------------+--------------------+--------------------+--------------------+-----------------+-------------------+----------------+-----------------------+-------------------------------+---------------+---------------+----------------+----------------+-----------------------------+------------------+--------------------------------------+-------------------------+-----------+---------------------+----------------------------------------------------------+--------------------+-------------+-------------------------+--------------------------+----------------+--------------------+--------------------+-------------------------------------------------------------------------------------+---------------+----------------------+---------------------+--------------------+------------------------+-----------------------+-------------------+
| Replica_IO_State                 | Source_Host                                  | Source_User      | Source_Port | Connect_Retry | Source_Log_File   | Read_Source_Log_Pos | Relay_Log_File                       | Relay_Log_Pos | Relay_Source_Log_File | Replica_IO_Running | Replica_SQL_Running | Replicate_Do_DB | Replicate_Ignore_DB | Replicate_Do_Table | Replicate_Ignore_Table | Replicate_Wild_Do_Table | Replicate_Wild_Ignore_Table | Last_Errno | Last_Error | Skip_Counter | Exec_Source_Log_Pos | Relay_Log_Space | Until_Condition | Until_Log_File | Until_Log_Pos | Source_SSL_Allowed | Source_SSL_CA_File | Source_SSL_CA_Path | Source_SSL_Cert | Source_SSL_Cipher | Source_SSL_Key | Seconds_Behind_Source | Source_SSL_Verify_Server_Cert | Last_IO_Errno | Last_IO_Error | Last_SQL_Errno | Last_SQL_Error | Replicate_Ignore_Server_Ids | Source_Server_Id | Source_UUID                          | Source_Info_File        | SQL_Delay | SQL_Remaining_Delay | Replica_SQL_Running_State                                | Source_Retry_Count | Source_Bind | Last_IO_Error_Timestamp | Last_SQL_Error_Timestamp | Source_SSL_Crl | Source_SSL_Crlpath | Retrieved_Gtid_Set | Executed_Gtid_Set                                                                   | Auto_Position | Replicate_Rewrite_DB | Channel_Name        | Source_TLS_Version | Source_public_key_path | Get_Source_public_key | Network_Namespace |
+----------------------------------+----------------------------------------------+------------------+-------------+---------------+-------------------+---------------------+--------------------------------------+---------------+-----------------------+--------------------+---------------------+-----------------+---------------------+--------------------+------------------------+-------------------------+-----------------------------+------------+------------+--------------+---------------------+-----------------+-----------------+----------------+---------------+--------------------+--------------------+--------------------+-----------------+-------------------+----------------+-----------------------+-------------------------------+---------------+---------------+----------------+----------------+-----------------------------+------------------+--------------------------------------+-------------------------+-----------+---------------------+----------------------------------------------------------+--------------------+-------------+-------------------------+--------------------------+----------------+--------------------+--------------------+-------------------------------------------------------------------------------------+---------------+----------------------+---------------------+--------------------+------------------------+-----------------------+-------------------+
| Waiting for source to send event | mds-tokyo.subnettokyo.vcntokyo.oraclevcn.com | replication_user |        3306 |            60 | binary-log.000035 |                 196 | relay-log-replication_channel.000002 |           373 | binary-log.000035     | Yes                | Yes                 |                 |                     |                    |                        |                         |                             |          0 |            |            0 |                 196 |             596 | None            |                |             0 | Yes                |                    |                    |                 |                   |                |                     0 | No                            |             0 |               |              0 |                |                             |       3963301291 | 24c28746-482f-11ec-8a77-020017004cd7 | mysql.slave_master_info |         0 |                NULL | Replica has read all relay log; waiting for more updates |                  0 |             |                         |                          |                |                    |                    | 24c28746-482f-11ec-8a77-020017004cd7:1-10,
f39636ce-4844-11ec-b929-0200170071d7:1-5 |             1 |                      | replication_channel | TLSv1.2,TLSv1.3    |                        |                     1 | mysql             |
+----------------------------------+----------------------------------------------+------------------+-------------+---------------+-------------------+---------------------+--------------------------------------+---------------+-----------------------+--------------------+---------------------+-----------------+---------------------+--------------------+------------------------+-------------------------+-----------------------------+------------+------------+--------------+---------------------+-----------------+-----------------+----------------+---------------+--------------------+--------------------+--------------------+-----------------+-------------------+----------------+-----------------------+-------------------------------+---------------+---------------+----------------+----------------+-----------------------------+------------------+--------------------------------------+-------------------------+-----------+---------------------+----------------------------------------------------------+--------------------+-------------+-------------------------+--------------------------+----------------+--------------------+--------------------+-------------------------------------------------------------------------------------+---------------+----------------------+---------------------+--------------------+------------------------+-----------------------+-------------------+
1 row in set (0.0090 sec)
 MySQL  mds-osaka.subnetosaka.vcnosaka testdb  SQL >

まとめ

東京リージョンにあるMySQL DBシステムと大阪リージョンにあるMySQL DBシステムの間でレプリケーションを構成することができました。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3