中級および中級のプログラマーにとって、ドキュメントは中級および上級のプログラマーには簡単に理解できますが、初心者にとっては依然として難しいものです。
面接中にデータの同期について質問されますか? 同期、効率性の同期、一貫性の同期などに何を使用する必要があるか...
この記事では、Alibaba の Canal 同期ツールの使用方法を説明します。
最初の一歩
ローカル mysql の my.ini を見つけます。違いに注意してください。Linux 上の my.ini は my.cnf です。
一般的なデフォルトのパスは C:\ProgramData\MySQL\MySQL Server 8.0 ディレクトリです。
に追加
[mysqld]
log-bin=mysql-bin # 开启 binlog
binlog-format=ROW # 选择 ROW 模式
server_id=1 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复
2番目のステップは、Canalをダウンロードすることです
ここでmysqlアカウントを作成する必要があります
参照文書
授权 canal 链接 MySQL 账号具有作为 MySQL slave 的权限, 如果已有账户可直接 grant
CREATE USER canal IDENTIFIED BY 'canal';
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
赋予账户全部权限-- GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%' ;
FLUSH PRIVILEGES;
コマンドの実行
サンプルパッケージをダウンロードします: https://github.com/alibaba/canal/releases
それを解凍してください
conf\example ディレクトリで、instance.propertiesファイルを見つけます。
知らせ
jdk11以降が起動できないので、解決策が見つかるまでアップデートしてみます。
bin ディレクトリを見つけます
。
starthp.batを起動します
logs\example ディレクトリでログを見つけて、起動が成功したかどうかを確認します。
次のコマンドを使用して表示することもできます。「C:xxx\logs\example\example.log」と入力します。
正常に開始されました
その後、データまたはテーブルのテストを作成できます
ここで、作成された canal アカウントに完全な権限が与えられていない場合、変更やその他の操作を追加できず、読み取り専用ステータスになることが記載されています。
権限を付与すると、データベースとテーブルがどのデータベースに作成されたかに関係なく、それらは同期されます。
勉強に失敗しましたか?
次の記事カナルアドバンスト