一、二重のコピーマスターモデル:2ノード相互マスタースレーブ、読み取りおよび書き込みすることができます。
第二に、二重のコピーマスターモデル:
1、プレゼンテーション環境:
IP |
オペレーティングシステム |
データベースのバージョン |
マウンティング |
役割 |
192.168.1.145 |
CentOSの7.6 x86_64版 |
MariaDB-10.3.15 |
yumを |
MASTER1 |
192.168.1.146 |
CentOSの7.6 x86_64版 |
MariaDB-10.3.15 |
yumを |
MASTER2 |
2 つのノードのサーバの時刻同期
3、マスタ1は、変更server.cnfの設定ファイル:#1 Vimを/etc/my.cnf.d/server.cnf
[mysqldを】
ポート= 3306
ソケット=の/ var / libに/ mysqlの/にmysql.sock
データ=の/ var / libに/ mysqlの
LOG_ERROR =は/ var / log / mariadb.log
lower_case_table_names = 1
character_set_server = utf8mb4
collation_server = utf8mb4_general_ci
もしinnodb_file_per_table = 1
skip_name_resolve = 1
slow_query_log = 1
slow_query_log_file = mariadb-slow.log
log_bin = MASTER1ビン
log_bin_index = MASTER1-bin.index
binlog_format =混合
relay_log =リレー1-ログ
relay_ log_index =リレー1-log.index
SERVER_ID = 1
sync_binlog = 1
innodb_flush_log_at_trx_commit = 1
注意:デフォルトのリレーログが存在しない場合、自動的に生成されます場合にのみ、コピー開始
4、マスタ1は、複製権限を持つユーザーを作成します。
MariaDB [(なし)]> 助成金のレプリケーションスレーブ、*上の複製クライアント* 'repluser'@'192.168.1.146'が'123456'で識別します。
MariaDB [(なし)]>フラッシュ特権。
図5に示すように、マスタ1のビューは、イベントのバイナリログファイルの名前と場所を使用しています。
MariaDB [(なし)]>マスター状態を示す図です。
6、MASTER2は変更server.cnfの設定ファイル:#1 Vimを/etc/my.cnf.d/server.cnf
[mysqldを】
ポート= 3306
ソケット=の/ var / libに/ mysqlの/にmysql.sock
データ=の/ var / libに/ mysqlの
LOG_ERROR =は/ var / log / mariadb.log
lower_case_table_names = 1
character_set_server = utf8mb4
collation_server = utf8mb4_general_ci
もしinnodb_file_per_table = 1
skip_name_resolve = 1
slow_query_log = 1
slow_query_log_file = mariadb-slow.log
log_bin = MASTER2-ビン
log_bin_index = MASTER2-bin.index
binlog_format =混合
relay_log = RELAY2ログ
relay_ log_index = RELAY2-log.index
SERVER_ID = 2
sync_binlog = 1
innodb_flush_log_at_trx_commit = 1
。7、マスター2の複製に接続するためのユーザー権限マスタ1 :
MariaDB [(なし)]> = '192.168.1.145'、master_user = 'repluser'をMASTER_HOSTする変更マスタは、master_password = '123456'、MASTER_PORT = 3306、MASTER_LOG_FILE = 'MASTER1-bin.000001'、MASTER_LOG_POS = 2035。
MariaDB [(なし)]>ショースレーブ状態\ G
備考:
(1)Slave_IO_Running とSlave_SQL_Running 値を、デフォルトはなし
(2)自動データディレクトリは/ var / libに/ MySQLの作成RELAY2-log.000001 、RELAY2-log.index とrelay-log.info ファイル
(3)MASTER_LOG_FILEの値MASTER1 バイナリログファイル名
(4)Read_Master_Log_Posの値MASTER1の位置バイナリログイベント
図8は、マスター2は、レプリケーションのスレッドを起動します。
MariaDB [(なし)]> スレーブ開始。
備考:
(1)スタートスレーブ各実行に相当するスレーブIO_THREADを開始し、スレーブSQL_THREADを開始
(2)STOPスレーブは、マスタ・スレーブレプリケーションスレッドを停止する手段と
(3)再起動MASTER2のサーバが配置され、コピーされたスレッドは自動的に開始されます
MariaDB [(なし)]>ショースレーブ状態\ G
備考:
(1)場合にのみSlave_IO_Running とSlave_SQL_Running 値がされているはい、コピースレッドが成功したスタートと考えられています
(2)Seconds_Behind_Master の値0 、指示MASTER2 後ろないMASTER1
(3)複製中に詳細に記録された情報マスター2のエラーログ/var/log/mariadb.log で
9、マスター2は、複製権限を持つユーザーを作成します。
MariaDB [(なし)]> 助成金のレプリケーションスレーブ、*上の複製クライアント* 'repluser'@'192.168.1.145'が'123456'で識別します。
MariaDB [(なし)]>フラッシュ特権。
10、MASTER2の図は、イベントのバイナリログファイルの名前と場所を使用しています。
MariaDB [(なし)]>マスター状態を示す図です。
。11、マスタ1の複製に接続するためのユーザー権限MASTER2 :
MariaDB [(なし)]> = '192.168.1.146'、master_user = 'repluser'をMASTER_HOSTする変更マスタは、master_password = '123456'、MASTER_PORT = 3306、MASTER_LOG_FILE = 'MASTER2-bin.000001'、MASTER_LOG_POS = 2035。
MariaDB [(なし)]>ショースレーブ状態\ G
備考:
(1)Slave_IO_Running とSlave_SQL_Running 値を、デフォルトはなし
(2)自動データディレクトリは/ var / libに/ MySQLの作成RELAY1-log.000001 、RELAY1-log.index とrelay-log.info ファイル
(3)MASTER_LOG_FILEの値マスター2 バイナリログファイル名
(4)Read_Master_Log_Posの値MASTER2の位置バイナリログイベント
12は、マスタ1は、レプリケーションのスレッドを起動します。
MariaDB [(なし)]> スレーブ開始。
注意:再起動master1で、サーバが配置されて、コピーされたスレッドが自動的に起動します
MariaDB [(なし)]>ショースレーブ状態\ G
備考:
(1)場合にのみSlave_IO_Running とSlave_SQL_Running 値がされているはい、コピースレッドが成功したスタートと考えられています
(2)Seconds_Behind_Master の値0 、指示MASTER1 後ろないMASTER2
(3)複製中に詳細に記録された情報MASTER1のエラーログ/var/log/mariadb.log で
図13は、マスタ1は、表示MASTER2 情報:
MariaDB [(なし)]>スレーブホストを示す図です。
14は、MASTER2は表示MASTER1 情報:
MariaDB [(なし)]>スレーブホストを示す図です。
第三に、コピーするテストダブルマスターモデル:
1、マスタ1は、テストデータを作成します。
MariaDB [(なし)]>データベースDB1を作成します。
MariaDB [(なし)]> DB1を使用します。
MariaDB [DB1]>テーブルTB1(nullでないID int型符号なしAUTO_INCREMENT主キー、名前のCHAR(20)NOT NULL)を作成します。
MariaDB [DB1]>降順TB1。
MariaDB [DB1]> TB1に挿入(名)の値( 'リージ')、( 'zhangsan')。
MariaDB [DB1]> TB1から選択*;
MariaDB [DB1]> [マスターステータスを表示します。
2、MASTER2は、テストデータを表示します。
MariaDB [(なし)]>ショーデータベース;
MariaDB [(なし)]> DB1を使用します。
MariaDB [DB1]>ショーのテーブル。
MariaDB [DB1]>降順TB1。
MariaDB [DB1]> TB1から選択*;
MariaDB [DB1]>スレーブステータスを表示\ G
3、マスター2は、テストデータを作成します。
MariaDB [DB1]> TB1(名)の値( 'wangwu')、( 'zhaoliu')に挿入します。
MariaDB [DB1]> TB1から選択*;
MariaDB [DB1]> [マスターステータスを表示します。
図4に示すように、マスタ1は、テストデータを表示します。
MariaDB [DB1]> TB1から選択*;
MariaDB [DB1]>スレーブステータスを表示\ G