高可用性デュアルマスター構成のmysql

高可用性デュアルマスター構成のmysql

MySQLの+キープアライブの設定


サーバー1:10.0.0.4
SERVER2:10.0.0.3

MySQLのインストール構成

使用YUM安装:
インストール#yum -yのmysql-コミュニティclient.x86_64のmysql-コミュニティcommon.x86_64でmysql-コミュニティdevel.x86_64のmysql-コミュニティlibs.x86_64のmysql-コミュニティ-LIBS-compat.x86_64のmysql-地域社会server.x86_64


############ SERVER1:my.cnfのプロフィール:##################

設定を変更する方法についてのアドバイスについては#は、参照してください
#http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqldを]
#の
#は、大手#を削除し、最も重要なデータ用RAMの量に設定
MySQLで#キャッシュ。他の専用サーバーの合計RAMの70%、10%で開始します。
#innodb_buffer_pool_size = 128M

#非常に重要なデータの整合性のオプションをオンにする有力#を削除します。logging
バックアップ間のバイナリログに#変更を。
#log_bin

#サーバを報告するため、主に有用なオプションを設定するための有力#を削除します。
#サーバーのデフォルトは、トランザクションと高速のSELECTのために高速です。
必要に応じて#最適な値を見つけるために、実験をサイズを調整します。
#join_buffer_size = 128M
#sort_buffer_size = 2M
#read_rnd_buffer_size = 2M
DATADIR =の/ var / libに/ mysqlの
ソケット=の/ var / libに/ mysqlの/にmysql.sock

#シンボリックリンクを無効にする各種セキュリティリスクを防止することをお勧めします
0 =シンボリックリンクを

ログインエラー=は/ var / log / mysqld.log
PIDファイル=の/ var /実行/ mysqldを/ mysqld.pid

サーバID = 202
GTIDモード= ON
binlog_format =行
ログスレーブアップデート= trueを
強制-GTID-一貫
ログビン= MySQLのビン
ログスレーブ更新
マスタ情報リポジトリ=表
リレーログ-info-リポジトリ=表の
同期マスタ情報= 1つの
スレーブ並列ワーカー= 4
バイナリログチェックサム= CRC32の
マスタベリファイチェックサム= 1
スレーブSQL-ベリファイチェックサム= 1
バイナリログ・ロー・クエリlog_events = 1

sql_modeの= NO_ENGINE_SUBSTITUTION、STRICT_TRANS_TABLES
character_set_server = UTF8
MAX_CONNECTIONS = 500
expire_logs_days = 5
slow_query_log = 1
slow_query_log_file =の/ var / libに/のMySQL / slow.log
long_query_time = 1
sync_binlog = 1
join_buffer_size = 16M
read_buffer_size = 16M
sort_buffer_size = 16M
table_open_cacheの= 700
のmax_allowed_pa​​cket = 32M
skip_name_resolve = 1
explicit_defaults_for_timestamp = 1

もしinnodb_file_per_table = 1
innodb_fast_shutdown = 0
innodb_purge_threads = 32
innodb_buffer_pool_size = 2G
innodb_flush_log_at_trx_commit = 1
innodb_buffer_pool_instances = 4
innodb_use_native_aio = ON
innodb_support_xa = 1
innodb_flush_neighbors = 1
自動コミット= 1
log_queries_not_using_indexes = 1
log_throttle_queries_not_using_indexes = 30
sql_modeの= NO_ENGINE_SUBSTITUTION

複製-野生無視するテーブルのMySQL =%の
反復-野生無視テーブル=テスト%の
反復-野生無視テーブル= performance_schema%


##############サーバー2:my.cnfのプロファイル##################

設定を変更する方法についてのアドバイスについては#は、参照してください
#http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqldを]
#の
#は、大手#を削除し、最も重要なデータ用RAMの量に設定
MySQLで#キャッシュ。他の専用サーバーの合計RAMの70%、10%で開始します。
#innodb_buffer_pool_size = 128M

#非常に重要なデータの整合性のオプションをオンにする有力#を削除します。logging
バックアップ間のバイナリログに#変更を。
#log_bin

#サーバを報告するため、主に有用なオプションを設定するための有力#を削除します。
#サーバーのデフォルトは、トランザクションと高速のSELECTのために高速です。
必要に応じて#最適な値を見つけるために、実験をサイズを調整します。
#join_buffer_size = 128M
#sort_buffer_size = 2M
#read_rnd_buffer_size = 2M
DATADIR =の/ var / libに/ mysqlの
ソケット=の/ var / libに/ mysqlの/にmysql.sock

#シンボリックリンクを無効にする各種セキュリティリスクを防止することをお勧めします
0 =シンボリックリンクを

ログインエラー=は/ var / log / mysqld.log
PIDファイル=の/ var /実行/ mysqldを/ mysqld.pid

サーバID = 201
GTIDモード= ON
binlog_format =行
ログスレーブアップデート= trueを
強制-GTID-一貫
ログビン= MySQLのビン
ログスレーブ更新
マスタ情報リポジトリ=表
リレーログ-info-リポジトリ=表の
同期マスタ情報= 1つの
スレーブ並列ワーカー= 4
バイナリログチェックサム= CRC32の
マスタベリファイチェックサム= 1
スレーブSQL-ベリファイチェックサム= 1
バイナリログ・ロー・クエリlog_events = 1

sql_modeの= NO_ENGINE_SUBSTITUTION、STRICT_TRANS_TABLES
character_set_server = UTF8
MAX_CONNECTIONS = 500
expire_logs_days = 5
slow_query_log = 1
slow_query_log_file =の/ var / libに/のMySQL / slow.log
long_query_time = 1
sync_binlog = 1
join_buffer_size = 16M
read_buffer_size = 16M
sort_buffer_size = 16M
table_open_cacheの= 700
のmax_allowed_pa​​cket = 32M
skip_name_resolve = 1
explicit_defaults_for_timestamp = 1

もしinnodb_file_per_table = 1
innodb_fast_shutdown = 0
innodb_purge_threads = 32
innodb_buffer_pool_size = 2G
innodb_flush_log_at_trx_commit = 1
innodb_buffer_pool_instances = 4
innodb_use_native_aio = ON
innodb_support_xa = 1
innodb_flush_neighbors = 1
自動コミット= 1
log_queries_not_using_indexes = 1
log_throttle_queries_not_using_indexes = 30
sql_modeの= NO_ENGINE_SUBSTITUTION

複製-野生無視するテーブルのMySQL =%の
反復-野生無視テーブル=テスト%の
反復-野生無視テーブル= performance_schema%

################ 終わり ###############

パスワードの最初のMySQLを変更します:

最初にパスワードでMySQLの使用
#mysql -uルートを

mysqlの> 'ルート' @ 'localhost'の= PASSWORD( 'NEWPASS')に設定されたパスワード。
MySQLの> FLUSH PRIVILEGES;

:両方のサーバー上のマスタ・スレーブレプリケーションのユーザーを作成
。「123456」で識別* * @「%」を上のスレーブするのMySQL>グラントスレーブ複製、複製クライアントを、
MySQLの> FLUSH PRIVILEGES;


####サーバ1の操作:

= '10をMASTER_HOSTに対するMySQL>変更マスタ.0.0.3' 、MASTER_PORT = 3306、master_user = 'スレーブ'、master_password = '123456'、master_auto_position = 1。

MySQLの>スレーブを起動します。


#### Server2の操作:

= '10をMASTER_HOSTに対するMySQL>変更マスタ.0.0.4' 、MASTER_PORT = 3306、master_user = 'スレーブ'、master_password = '123456'、master_auto_position = 1。

MySQLの>スレーブを起動します。

 

ビューのステータス:
server2の上:
MySQLの>表示スレーブステータスの\ G;

MySQLの>ショースレーブステータスの\ G;
*************************** 1行******************** *******
Slave_IO_State:イベント送信するためのマスターを待っている
MASTER_HOSTを:####### 10.0.0.4
Master_User:スレーブ#######の
MASTER_PORT:3306
Connect_Retry:60
MASTER_LOG_FILEます。mysql-bin.000007という
Read_Master_Log_Pos:1406
RELAY_LOG_FILE:アプリケーションサーバー-リレー-bin.000007という
RELAY_LOG_POS:454
のRelay_Master_Log_Fileます。mysql-bin.000007という
Slave_IO_Running:はい##########
Slave_SQL_Running:はい##########
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno:0
LAST_ERROR:
Skip_Counter:0
Exec_Master_Log_Pos:1406
Relay_Log_Space:918
Until_Condition:なし
Until_Log_File:
Until_Log_Pos:0
Master_SSL_Allowed:いいえ
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master:0
Master_SSL_Verify_Server_Cert:いいえ
Last_IO_Errno:0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id:202 ##########
Master_UUID:6a9d0dae-86fa-11e7-a9a6-0894ef365e0a
Master_Info_File:mysql.slave_master_info
SQL_Delay:0
SQL_Remaining_Delay:NULL
Slave_SQL_Running_State:スレーブは、すべてのリレーログを読みました。以上の更新を待っている
Master_Retry_Count:86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:6a9d0dae-86fa-11e7-a9a6-0894ef365e0a:4-6
Executed_Gtid_Set:6a9d0dae-86fa-11e7-a9a6-0894ef365e0a:1-6、
fcfa135e- 873b-11e7-8930-0894ef364852:1-15
Auto_Position:1
Replicate_Rewrite_DB:
CHANNEL_NAME:
Master_TLS_Version:
セット内の1行(0.00秒)

 

 

キープアライブインストール:

#yumをインストールkeepalivedのipvsadmの

#########配置:10.0.0.3 ####
[ルート@のアプリケーションサーバー〜]#猫/etc/keepalived/keepalived.conf
keepalivedのための設定ファイル

global_defs {
{notification_email
[email protected]
}
notification_email_from [email protected]
SMTP_SERVERローカルホスト
smtp_connect_timeout 30
ROUTER_ID LVS_DEVEL
}

{VI_1 vrrp_instance
状態がバックアップモードである##バックアップサーバ
インターフェースeth0は
51と同じ##であるvirtual_router_id
優先順位100 ###より高い優先順位番号、優先度の高い
advert_int。1つの
認証{
PASS AUTH_TYPE
AUTH_PASS 1111
}
virtual_ipaddressを{
10.0.0.5/24 eth0のdevの
}
}

VIRTUAL_SERVER 10.0.0.5 3306 {
delay_loop 5
lb_algo WRR ###算法
lb_kind DRの
nat_maskの255.255.255.0
50 persistence_timeout
プロトコルTCP

real_server 10.0.0.3 3306 {
3重量
/etc/keepalived/change_mysql.sh notify_down
TCP_CHECK {
10 CONNECT_TIMEOUT
nb_get_retry 3
delay_before_retry 3
connect_port 3306
}
}


#########配置:10.0.0.4 ##########
[ルート@のデータサーバ〜]#猫/etc/keepalived/keepalived.conf
keepalivedのための設定ファイル

global_defs {
{notification_email
[email protected]
}
notification_email_from [email protected]
SMTP_SERVERローカルホスト
smtp_connect_timeout 30
ROUTER_ID LVS_DEVEL
}

{VI_1 vrrp_instance
状態は、バックアップ
インターフェースeth0は
51であるvirtual_router_id
マスターサーバーがVIPドリフトが応答しない場合、スプリットブレインを防止する起こるノンプリエンプティブモードを提供する、nopreempt ##は、リソースを先取りしません。
優先順位200 ###より高い優先順位番号、優先度の高い
advert_int。1つの
認証{
PASS AUTH_TYPE
AUTH_PASS 1111
}
virtual_ipaddressを{
10.0.0.5/24 DEV eth0を
}
}

VIRTUAL_SERVER 10.0.0.5 3306 {
delay_loop 5 ##检测延迟
lb_algo WRR
lb_kind DRの
nat_maskの255.255.255.0
50 persistence_timeout
プロトコルTCP

real_server 10.0.0.4 3306 {
3重量
/etc/keepalived/change_mysql.sh notify_down
TCP_CHECK {
10 CONNECT_TIMEOUT
nb_get_retry 3
delay_before_retry 3
connect_port 3306
}
}

[ルート@のデータサーバ〜]#猫/etc/keepalived/change_mysql.sh
#!/ binに/ bashの
pkillはkeepalivedの


#serviceは、スタート/ストップkeepalivedの
#serviceは、スタート/ストップのmysqld

 

おすすめ

転載: www.cnblogs.com/wdrain/p/11528470.html