Canal解析MySQL 5.7のbinlog

2347 ワード

Canal解析MySQL 5.7のbinlog
https://github.com/alibaba/canal
  • 1.Linuxのyumソースを設定
  • 1.1コマンドで次のようなコマンドを実行し、MySQL 5を追加する.7のyumソース
  • 1.2 MySQLをインストールするコマンド(rootユーザーまたはsudoで)
  • 2.MySQLサービスを開始
  • 3.MySQLパスワードの変更
  • 3.1 MySQLテンポラリパスワードを取得
  • 3.2仮パスワードを使用してMySQL cat>/etc/yumにログインrepos.d/mysql57.repo << EOF [mysql57-community] name=MySQL 5.7 Community Server baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/enabled=1 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql EOF yum install -y mysql-community-server service mysqld start grep ‘temporary password’/var/log/mysqld.log mysql -uroot -p-yuysJYN?0ul

  • 3.3 MySQLパスワードを変更パスワードのセキュリティレベルを変更する4.汎用ユーザーの追加4.1汎用ユーザーの作成4.2権限付与4.3リフレッシュ権限5データベース6インストールCanalのset global validate_を作成するpassword_policy=LOW; set global validate_password_length=5; ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123456’; CREATE USER mycanal IDENTIFIED BY ‘mycanal’; GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON . TO ‘mycanal’@’%’; FLUSH PRIVILEGES; CREATE DATABASE doitmall CHARSET utf8; 6 Canalをインストールする6.1 Cannal 1.1.3バージョン6.2をダウンロードしてMySQLのあるマシンにアップロードし、解凍7 MySQLの構成canalを修正する原理はmysql binlog技術に基づいているので、mysqlのbinlog書き込み機能を開く必要がある.Canalのプロファイルの変更8.1 canalのプライマリプロファイルの変更https://github.com/alibaba/canal/releases mkdir -p/bigdata/canal tar -zxvf canal.deployer-1.1.3.tar.gz -C/bigdata/canal/vi/etc/my.cnf[mysqld]log-bin=mysql-bin#この行を追加するとok binlog-format=ROW#選択rowモードserver_id=1#構成mysql replactionは、canalのslaveIdとサービスmysqld restart cd/bigdata/canal/vi canalを繰り返すことなく定義する必要がある.properties 8.2 canalのインスタンスの変更https://github.com/alibaba/canal/wiki/AdminGuidemysqladmin-uroot-pDoIt 123 password 123456#canalとkafkaを統合しkafka canalにデータを送る.serverMode=kafka#kafka brokerアドレスcanalを指定します.mq.servers = node-1.51doit.cn:9092,node-2.51doit.cn:9092,node-3.51doit.cn:9092#データ送信kafka失敗再試行回数canal.mq.retries=2#mysqlデータベースのアドレスcanal.instance.master.address=127.0.0.1:3106#mysqlはユーザー名canalを用いる.instance.dbUsername=mycanal#mysqlパスワードcanal.instance.dbPassword=mycanal#注釈デフォルトのtopic#canalを使用する.mq.topic=example
    dynamic topic route by schema or table regex
    #動的topicを使用して、testのデータベースのtestテーブルをkafkaのtest 1のtopicに送信します#testのデータベースのuserテーブルをkafkaのuser 1のtopicに送信します
    canal.mq.dynamicTopic=test1:test\\.test,user1:test\\.user