PHPClientforMysqlBinlog_MySQL

WBOY
リリース: 2016-06-01 12:58:37
オリジナル
1180 人が閲覧しました

 

Install MySQL Replication Listener

https://github.com/bullsoft/mysql-replication-listener/archive/master.zip
<code class="hljs lasso">unzip mysql-replication-listener-master.zip
cd mysql-replication-listener-master
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-replication
make & make install</code>
ログイン後にコピー

Install php-binlog

https://github.com/bullsoft/php-binlog/archive/master.zip
<code class="hljs lasso"><code class="hljs lasso">unzip php-binlog-master.zip
cd php-binlog-master/ext
/usr/local/php5.5.15/bin/phpize
./configure --with-php-config=/usr/local/php5.5.15/bin/php-config --with-mysql-binlog=/usr/local/mysql-replication</code></code>
ログイン後にコピー

<code class="hljs lasso">Examples

<code class="hljs lasso">注:Binlog为行格式

<code class="hljs lasso"><code class="hljs lasso"><code class="language-php hljs "><!--?php

$link = binlog_connect("mysql://root:cpyf@127.0.0.1:3306");
//binlog_set_position($link, 4);  
//binlog_set_position($link, 4, 'mysql-bin.000006');                           

while($event=binlog_wait_for_next_event($link)) {
    // it will block here                                 
    switch($event['type_code']) {
        case BINLOG_DELETE_ROWS_EVENT:
            var_dump($event);
            // do what u want ...                           
            break;
        case BINLOG_WRITE_ROWS_EVENT:
            var_dump($event);
            // do what u want ...                           
            break;
        case BINLOG_UPDATE_ROWS_EVENT:
            var_dump($event);
            // do what u want ...                           
            break;
        default:
            // var_dump($event);                            
            break;
    }
}
</pre-->



</code></code></code>
ログイン後にコピー

<code class="hljs lasso"><code class="language-php hljs ">Update_rows

<code class="hljs lasso"><code class="hljs lasso"><code class="language-php hljs "><code class="language-sql hljs ">update `type` set type_id = 22 WHERE id in (58, 59);</code></code></code></code>
ログイン後にコピー
<code class="hljs lasso"><code class="hljs lasso"><code class="language-php hljs "><code class="language-sql hljs "><code class="language-php hljs ">array(5) {
  &#39;type_code&#39; =>
  int(24)
  &#39;type_str&#39; =>
  string(11) "Update_rows"
  &#39;db_name&#39; =>
  string(5) "cloud"
  &#39;table_name&#39; =>
  string(4) "type"
  &#39;rows&#39; =>
  array(4) {
    [0] =>
    array(5) {
      [0] =>
      string(2) "58"
      [1] =>
      string(8) "adsfasdf"
      [2] =>
      string(4) "asdf"
      [3] =>
      string(2) "22"
      [4] =>
      string(1) "0"
    }
    [1] =>
    array(5) {
      [0] =>
      string(2) "58"
      [1] =>
      string(8) "adsfasdf"
      [2] =>
      string(4) "asdf"
      [3] =>
      string(1) "4"
      [4] =>
      string(1) "0"
    }
    [2] =>
    array(5) {
      [0] =>
      string(2) "59"
      [1] =>
      string(8) "adsfasdf"
      [2] =>
      string(4) "asdf"
      [3] =>
      string(2) "22"
      [4] =>
      string(1) "0"
    }
    [3] =>
    array(5) {
      [0] =>
      string(2) "59"
      [1] =>
      string(8) "adsfasdf"
      [2] =>
      string(4) "asdf"
      [3] =>
      string(1) "4"
      [4] =>
      string(1) "0"
    }
  }
}</code></code></code></code></code>
ログイン後にコピー

<code class="hljs lasso"><code class="language-php hljs "><code class="language-sql hljs "><code class="language-php hljs ">Delete_rows

<code class="hljs lasso"><code class="hljs lasso"><code class="language-php hljs "><code class="language-sql hljs "><code class="language-php hljs "><code class="language-sql hljs ">delete from `type` WHERE id in (58, 59);</code></code></code></code></code></code>
ログイン後にコピー
<code class="hljs lasso"><code class="hljs lasso"><code class="language-php hljs "><code class="language-sql hljs "><code class="language-php hljs "><code class="language-sql hljs "><code class="language-php hljs ">array(5) {
  &#39;type_code&#39; =>
  int(25)
  &#39;type_str&#39; =>
  string(11) "Delete_rows"
  &#39;db_name&#39; =>
  string(5) "cloud"
  &#39;table_name&#39; =>
  string(4) "type"
  &#39;rows&#39; =>
  array(2) {
    [0] =>
    array(5) {
      [0] =>
      string(2) "58"
      [1] =>
      string(8) "adsfasdf"
      [2] =>
      string(4) "asdf"
      [3] =>
      string(2) "22"
      [4] =>
      string(1) "0"
    }
    [1] =>
    array(5) {
      [0] =>
      string(2) "59"
      [1] =>
      string(8) "adsfasdf"
      [2] =>
      string(4) "asdf"
      [3] =>
      string(2) "22"
      [4] =>
      string(1) "0"
    }
  }
}</code></code></code></code></code></code></code>
ログイン後にコピー

<code class="hljs lasso"><code class="language-php hljs "><code class="language-sql hljs "><code class="language-php hljs "><code class="language-sql hljs "><code class="language-php hljs ">Write_rows

<code class="hljs lasso"><code class="hljs lasso"><code class="language-php hljs "><code class="language-sql hljs "><code class="language-php hljs "><code class="language-sql hljs "><code class="language-php hljs "><code class="language-sql hljs ">insert into type values (Null, "Hello, World", "Best world", 4, 0), (NULL, "你好,世界", "世界很美好", 3, 5);</code></code></code></code></code></code></code></code>
ログイン後にコピー
<code class="hljs lasso"><code class="hljs lasso"><code class="language-php hljs "><code class="language-sql hljs "><code class="language-php hljs "><code class="language-sql hljs "><code class="language-php hljs "><code class="language-sql hljs "><code class="language-php hljs ">array(5) {
  &#39;type_code&#39; =>
  int(23)
  &#39;type_str&#39; =>
  string(10) "Write_rows"
  &#39;db_name&#39; =>
  string(5) "cloud"
  &#39;table_name&#39; =>
  string(4) "type"
  &#39;rows&#39; =>
  array(2) {
    [0] =>
    array(5) {
      [0] =>
      string(2) "95"
      [1] =>
      string(12) "Hello, World"
      [2] =>
      string(10) "Best world"
      [3] =>
      string(1) "4"
      [4] =>
      string(1) "0"
    }
    [1] =>
    array(5) {
      [0] =>
      string(2) "96"
      [1] =>
      string(15) "你好,世界"
      [2] =>
      string(15) "世界很美好"
      [3] =>
      string(1) "3"
      [4] =>
      string(1) "5"
    }
  }
}</code></code></code></code></code></code></code></code></code>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート