MariaDBデュアルマスターレプリケーションモデル

一、二重のコピーマスターモデル: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

collat​​ion_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 [(なし)]>マスター状態を示す図です。

image.png

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

collat​​ion_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

image.png

備考:

(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

image.png

image.png

備考:

(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 [(なし)]>マスター状態を示す図です。

image.png

。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

image.png

備考:

(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

image.png

image.png

備考:

(1)場合にのみSlave_IO_Running Slave_SQL_Running 値がされているはい、コピースレッドが成功したスタートと考えられています

(2)Seconds_Behind_Master の値0 、指示MASTER1 後ろないMASTER2

(3)複製中に詳細に記録された情報MASTER1のエラーログ/var/log/mariadb.log

図13は、マスタ1は、表示MASTER2 情報:

MariaDB [(なし)]>スレーブホストを示す図です。

image.png

14は、MASTER2は表示MASTER1 情報:

MariaDB [(なし)]>スレーブホストを示す図です。

image.png


第三に、コピーするテストダブルマスターモデル:

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から選択*;

image.png

MariaDB [DB1]> [マスターステータスを表示します。

image.png

2、MASTER2は、テストデータを表示します。

MariaDB [(なし)]>ショーデータベース;

MariaDB [(なし)]> DB1を使用します。

MariaDB [DB1]>ショーのテーブル。

MariaDB [DB1]>降順TB1。

MariaDB [DB1]> TB1から選択*;

image.png

MariaDB [DB1]>スレーブステータスを表示\ G

3、マスター2は、テストデータを作成します。

MariaDB [DB1]> TB1(名)の値( 'wangwu')、( 'zhaoliu')に挿入します。

MariaDB [DB1]> TB1から選択*;

image.png

MariaDB [DB1]> [マスターステータスを表示します。

image.png

図4に示すように、マスタ1は、テストデータを表示します。

MariaDB [DB1]> TB1から選択*;

image.png

MariaDB [DB1]>スレーブステータスを表示\ G


おすすめ

転載: blog.51cto.com/qiuyue/2400325