MySQLの——Replicationの容量、障害の排出誤り、マルチスレッド方式でバイナリログを転送します.
1694 ワード
転載は出典を明記してください.http://blog.csdn.net/l1028386804/article/details/52761940
一、Replication容量
Replicationをしばらく停止して(M)、再開し、どのぐらいの期間でマスターと一致するかを確認します.Replication容量=N:Mは3倍以上の保持容量、すなわち1:3を推奨します.
二、Replicationの故障を排除する
1、ログエラー
1)大半のreplicationエラーはログエラーによるものです.2)メインログと中継ログが間違っている可能性があります.識別の方法:
1)多くの問題がログエラーを引き起こす可能性があります.ログ自体にエラーがない場合もあります.SQL解析でエラーが発生しました.ログエラーは手動でスキップできますが、メインデータが一致しない場合があります.2)メインログエラーであれば、Slaveで実行できます.
三、マルチスレッド方式でバイナリログを転送する
1、MySQL 5.6マルチスレッド方式のバイナリログ転送をサポートします.2、GTIDsモードでしか働けません.3、異なるライブラリに対して実行する操作だけがマルチスレッド伝送を採用することができます.同じライブラリでは表の操作はまだ単一スレッドでしか送信できません.
一、Replication容量
Replicationをしばらく停止して(M)、再開し、どのぐらいの期間でマスターと一致するかを確認します.Replication容量=N:Mは3倍以上の保持容量、すなわち1:3を推奨します.
二、Replicationの故障を排除する
1、ログエラー
1)大半のreplicationエラーはログエラーによるものです.2)メインログと中継ログが間違っている可能性があります.識別の方法:
#mysqlbinlog MASTER_BINLOG_FILE > /dev/null
#mysqlbinlog SLAVE_BINLOG_FILE > /dev/null
2、ログエラーをスキップ1)多くの問題がログエラーを引き起こす可能性があります.ログ自体にエラーがない場合もあります.SQL解析でエラーが発生しました.ログエラーは手動でスキップできますが、メインデータが一致しない場合があります.2)メインログエラーであれば、Slaveで実行できます.
mysql> stop slave;
mysql> set global sql_slave_skip_counter=1;
mysql> start slave;
3)中継ログでエラーが発生したら、Slaveでshow slaave status\GコマンドでReplication状態を確認し、ログ情報に従ってエラーのログをスキップすることができます.mysql> stop slave;
mysql> charge master to
-> master_log_file='',
-> master_log_pos=;
mysql> start slave;
4)ReplcationがGTIDsモードで動作する場合、必要となるmysql> stop slave;
mysql> set gtid_next='uuid:nexti_d';
mysql> begin;
mysql> commit;
mysql> set gtid_next='automatic';
mysql> start slave;
注:uuid:nextid例えば、'0470 a 4 fd-93 d-11 e 3-86 bf-4 c 905 bea 80 f:17'三、マルチスレッド方式でバイナリログを転送する
1、MySQL 5.6マルチスレッド方式のバイナリログ転送をサポートします.2、GTIDsモードでしか働けません.3、異なるライブラリに対して実行する操作だけがマルチスレッド伝送を採用することができます.同じライブラリでは表の操作はまだ単一スレッドでしか送信できません.
#vi /etc/my.cnf
[mysqld]
slave_parallel-workers=N ( 0, )
他のコマンド:mysql> set sql_log_bin=OFF; ( )
mysql> set sql_log_bin=ON; ( )