10bet网址
MySQL 5.6リファレンスマニュアル
本手册下载
PDF (Ltr)- 26.8 mb
PDF (A4)- 26.8 mb


14.18.6レプリケションでのInnoDB memcachedプラグ

InnoDBmemcachedデモンプラグMySQLバ邮箱ナリログをサポトしているため,memcached帐号ンタフェ帐号ス経由でマスタサバに実行した更新は,バックアップ,読み取り処理の多いワークロードのバランスの確保,および高可用性のためにレプリケーションできます。すべてのmemcachedコマンドは、バ。

スレブサバ上でInnoDBmemcachedプラグ邮箱ンをセットアップする必要はありません。この構成の主な利点は,マスタ上での書き込みスルプットの増加です。レプリケションメカニズムの速度は影響を受けません。

次のセクションでは,バInnoDBmemcachedプラグMySQLンをMySQLレプリケションと一緒に使用する方法を示します。セクション14.18.3 " InnoDB Memcachedプラグ翻版ンの概要"に記載されている基本設定がすでに実行されていることを前提としています。

innodb_api_enable_binlogによるInnoDB Memcachedバereplicationナリログの有効化:

  • InnoDBmemcachedプラグ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操作は(挿入,削除,更新に類似した)DMLステトメントにマップされます。MySQL服务器によって実際に処理される SQL ステートメントがないため、memcachedコマンド(flush_all以外)は行ベスのレプリケション(rbr)ロギングを使用します。これはサバのすべてのbinlog_format設定とは無関係です。

  • memcachedflush_allコマンドは截断表コマンドにマップされます。DDLコマンドはステトメントベスのロギングのみ使用できるため,このflush_allコマンドは截断表ステトメントを送信することでレプリケションされます。

トランザクション:

  • トランザクションの概念は,これまで通常は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。これらのレコドがコミットされる前にレコドをマスタサバ上に表示するには,设置事务隔离级别读未提交を発行します。


本手册下载
PDF (Ltr)- 26.8 mb
PDF (A4)- 26.8 mb