Canal--->准备MySql主数据库---->安装canal

一、安装主数据库

1.在服务器新建文件夹 mysql/data,新建文件 mysql/conf.d/my.cnf

其中my.cnf 内容如下

[mysqld]
log_timestamps=SYSTEM
default-time-zone='+8:00'
server-id=1
log-bin=mysql-bin
binlog-do-db = mall # 要监听的库
binlog_format=ROW

2.启动数据库

docker run --name mysql01 \
-p 3306:3306 \
-v /opt/mysql/conf.d:/etc/mysql/conf.d \
-v /opt/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:8.0

3.校验是否开启成功

show variables like 'log_%';

show variables like 'binlog_format';
show variables like 'server_id';
--查看所有日志
show binlog events;
--查看最新的日志
show master status
-- 查询指定的binlog日志
show binlog events in 'XTZJ-20221008CY-bin.000020'
--清空所有的 binlog 日志文件reset master

4.DML与DDL

MySQL中,DML(Data Manipulation Language)和DDL(Data Definition Language)是两种不同类型的SQL语句,它们分别用于不同的数据库操作目的:

DML(数据操作语言): DML语句主要用于对数据库表中的实际数据进行操作,主要包括以下几种命令:

  1. INSERT:向表中插入新的行数据。

  2. UPDATE:更新表中已存在的行数据。

  3. DELETE:从表中删除满足特定条件的行数据。

  4. SELECT:从表中检索数据,虽然SELECT不改变数据本身,但因其属于对数据的操作,所以也被归类于DML。

DML操作通常发生在事务中,可以被用户手动控制事务的开启、提交和回滚,确保数据的一致性和完整性。

DDL(数据定义语言): DDL语句主要用于创建、修改或删除数据库的结构元素,例如:

  1. CREATE:创建新的数据库、表、索引、视图等。

  2. ALTER:更改现有数据库对象的结构,例如增加或删除列,修改列的数据类型,重命名表等。

  3. DROP:删除数据库对象,如表、索引、视图等。

  4. TRUNCATE:清空表的内容,但保留表的结构。、

二、安装canal

1.新建文件夹logs, 新建文件canal.properties instance.properties docker.compose.yml

修改canal.properties内容如下

修改instance.properties内容如下

2.启动容器

docker-compose up -d

 

上一篇:Codeforces Round 938 (Div. 3)(A,B,C,D,E,F,G,H)


下一篇:对OceanBase中的配置项与系统变量,合法性检查实践