1 つの mysql データベース構成
1.1 新しいデータベースを作成する
1.2 新しいテスト テーブルを作成する
CREATE TABLE user_info(
`id` VARCHAR(255),
`name` VARCHAR(255),
`sex` VARCHAR(255)
);
1.3 構成ファイルを変更して Binlog を有効にする
vim /etc/my.cnf
server-id=4
log-bin=mysql-bin
binlog_format=row
binlog-do-db=caneltestdb
1.4 MySQL を再起動して構成を有効にする
systemctl restart mysqld
/var/lib/mysql ディレクトリに移動して、初期ファイル サイズ 154 を表示します。
1.5 Binlog が有効になっているかどうかをテストする
データを挿入する
INSERT INTO user_info VALUES('1001','zhangsan','male');
/var/lib/mysql ディレクトリに再度移動して、インデックス ファイルのサイズを確認します。
1.6 認可
MySQL で実行
mysql> set global validate_password_length=4;
mysql> set global validate_password_policy=0;
mysql> GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%' IDENTIFIED BY 'canal' ;
2 チャンネルの展開と構成
2.1 Jar パッケージのダウンロードと解凍
https://github.com/alibaba/canal/releases
ここでは canal.deployer-1.1.6.tar.gz バージョンが使用されています
/opt/sortware ディレクトリにコピーし、/opt/module/canal パッケージに解凍します (ディレクトリは自分で決めます)。
注: canal は解凍後に散在するため、解凍ディレクトリを指定するときに canal を指定する必要があります。
2.2 canal.properties の構成を変更する
vim conf/canal.properties
変更は次のとおりです。
説明: このファイルは、canal の基本的な一般的な構成です。canal のデフォルトのポート番号は 11111 です。canal の出力モデルを変更し、デフォルトの tcp、kafka への出力に変更します。
マルチインスタンス構成 複数のインスタンスを作成する場合、以前の canal アーキテクチャを通じて、canal サービスに複数のインスタンスが存在する可能性があることがわかります。conf/ の下の各例はインスタンスであり、各インスタンスには独立した構成ファイルがあります。デフォルトでは、インスタンスの例は 1 つだけです. 異なる MySQL データを処理するために複数のインスタンスが必要な場合は、複数の例を直接コピーして名前を変更します. 名前は構成ファイルで指定された名前と一致してから、canal で canal を変更します. properties.destinations=instance1、instance2、instance3。
2.3 instance.properties の変更
ここでは 1 つの MySQL データのみを読み取るため、インスタンスは 1 つしかなく、このインスタンスの構成ファイルは conf/example ディレクトリにあります。
vim conf/example/instance.properties
(1) MySQL サーバーのアドレスを設定する
知らせ:
canal.instance.mysql.slaveId の値は、mysql で構成されたサーバー ID と同じにすることはできません。
(2) MySQL に接続するためのユーザー名とパスワードを設定します。デフォルトは、先ほど承認した canal です。
2.4 スタート運河
sh bin/startup.sh
以下のように起動成功