InnoDB
memcachedデモンプラグMySQLバ邮箱ナリログをサポトしているため,memcached帐号ンタフェ帐号ス経由でマスタサバに実行した更新は,バックアップ,読み取り処理の多いワークロードのバランスの確保,および高可用性のためにレプリケーションできます。すべてのmemcachedコマンドは、バ。
スレブサバ上でInnoDB
memcachedプラグ邮箱ンをセットアップする必要はありません。この構成の主な利点は,マスタ上での書き込みスルプットの増加です。レプリケションメカニズムの速度は影響を受けません。
次のセクションでは,バInnoDB
memcachedプラグMySQLンをMySQLレプリケションと一緒に使用する方法を示します。セクション14.18.3 " InnoDB Memcachedプラグ翻版ンの概要"に記載されている基本設定がすでに実行されていることを前提としています。
innodb_api_enable_binlogによるInnoDB Memcachedバereplicationナリログの有効化:
InnoDB
memcachedプラグMySQL . exeンをMySQL . exeバ邮箱ナリログと一緒に使用するには,マスタサバ上でinnodb_api_enable_binlog
構成オプションを有効にします。このオプションはサバのブト時にのみ設定できます。また,——log-bin
オプションを使用して,マスタMySQLバ。これらのオプションを,my.cnf
などのサバ構成ファルに追加したり,mysqldコマンド行に追加したりできます。mysqld……——log-bin innodb_api_enable_binlog = 1
次に,セクション17.1.1 "レプリケションのセットアップ方法"に記載されているようにマスタサバ。
, mysqldumpを使用してマスタデタスナップショットを作成し,これをスレに同期します。
主shell: mysqldump——all-databases——lock-all-tables > dbdump.db从shell: mysql < dbdump.db
マスタサバ上で,
显示主状态
を発行してマスタバ。Mysql >显示master status;
スレブサバ上で,
改变主
ステトメントを使用して,上記の座標でスレ。mysql> CHANGE MASTER TO MASTER_HOST='localhost', MASTER_USER='root', MASTER_PASSWORD= ", MASTER_PORT = 13000, MASTER_LOG_FILE='0.000001, MASTER_LOG_POS=114;
次に,スレブを開始します。
mysql >开始的奴隶;
次のような出力がエラログから出力される場合,スレションの準備ができています。
111002 18:47:15[注]从I/O线程:连接到主'root@localhost:13000',复制开始在日志'0.000001'的位置114
Memcached Telnetンタフェスによるテスト
上記のレプリケション設定を備えたサバをテストするには,memcachedtelnetインタフェースを使用し,さらにSQLを使用してマスターサーバーおよびスレーブサーバーにクエリーを実行して,結果を検証します。
ここでの構成設定SQLで,memcachedによって使用される测验
デタベス内に1ブルdemo_test
が作成されます。このデフォルトテブルをデモ用に使用します。
集
を使用して,キtest1
、値t1
,およびフラグ10
を持レコドを挿入します。telnet 127.0.0.1 11211 Trying 127.0.0.1…连接到127.0.0.1。转义字符是'^]'。set test1 10 0 2 t1存储
マスタサバで,行が挿入されたことを確認できます。c1
はキにマップされ,c2
は値にマップされ,c3
はフラグ,c4
は中科院
値,およびc5
は期限です。
Mysql > select * from test.demo_test;
c1 | c2 | c3 | c4 | c5 |
---|---|---|---|---|
test1 | t1 | 10 | 2 | 0 |
1行集合(0.00秒)
スレブサバでは,レプリケドが挿入されたことがわかります。
Mysql > select * from test.demo_test;
c1 | c2 | c3 | c4 | c5 |
---|---|---|---|---|
test1 | t1 | 10 | 2 | 0 |
1行集合(0.00秒)
集
コマンドを使用して,キtest1
を新しい値新
に更新します。
连接到127.0.0.1。转义字符是'^]'。设置test1 10 0 3新的存储
スレブサバで,更新がレプリケションされます(中科院
値も更新されます)。
Mysql > select * from test.demo_test;
c1 | c2 | c3 | c4 | c5 |
---|---|---|---|---|
test1 | 新 | 10 | 3. | 0 |
1行集合(0.00秒)
删除
コマンドでレコドを削除します。
连接到127.0.0.1。转义字符是'^]'。删除test1删除
削除がスレブにレプリケションされると,スレブ上のレコドも削除されます。
Mysql > select * from test.demo_test;空集(0.00秒)
flush_all
コマンドでテブルを削除します。
最初に,telnetでマスタサ2。
连接到127.0.0.1。转义字符是'^]' set test2 10 0 5 again STORED set test3 10 0 6 again1 STORED
スレブサバで,これらの2のレコションされることを確認します。
Mysql > select * from test.demo_test;
c1 | c2 | c3 | c4 | c5 |
---|---|---|---|---|
test2 | 再一次 | 10 | 5 | 0 |
test3 | again1 | 10 | 6 | 0 |
2行集合(0.00秒)
Telnet econンタフェスでflush_all
を呼び出してテブルを削除します。
连接到127.0.0.1。转义字符是'^]'。flush_all好
次に,削除操作がスレブサバにレプリケションされたことを確認します。
Mysql > select * from test.demo_test;空集(0.00秒)
すべてのmemcached
コマンドは,レプリケションでサポトされます。
InnoDB Memcached Binlogに関する注意点
Binlog形式:
トランザクション:
トランザクションの概念は,これまで通常はmemcachedアプリケションの一部をなすものではありませんでした。ここでは
daemon_memcached_r_batch_size
およびdaemon_memcached_w_batch_size
を使用して,パフォーマンスを考慮した読み取りおよび書き込みトランザクションのバッチサイズを制御します。これらの設定はレプリケーションに影響せず,基礎テーブル上でのすべてのSQL操作は実行完了後すぐにレプリケーションされます。daemon_memcached_w_batch_size
のデフォルト値は1であるため,memcachedの書き込み操作は即時にコミットされます。このデフォルト設定は,マスターサーバーとスレーブサーバーに表示されるデータの不整合を回避するために,ある程度のパフォーマンスオーバーヘッドを発生させます。レプリケトされたレコドは,常にスレブサバ上でただに使用可能になります。daemon_memcached_w_batch_size
を1より大きく設定した場合,memcached。これらのレコドがコミットされる前にレコドをマスタサバ上に表示するには,设置事务隔离级别读未提交
を発行します。