Skip to main content

环境搭建

数据库初始化

1. 初始化数据库

执行数据库及建表语句初始化 SQL 脚本,文件路径如下:

/resources/database/link.sql

✅ 该文件包含所有核心表结构定义,数据库结构后续变动较少,建议一次性执行。

2. 初始化建表语句&初始化数据

执行数据初始化 SQL 脚本,文件路径如下:

/resources/database/link-data.sql

⚠️ 如果在后续开发过程中遇到与数据库相关的错误(如字段缺失、表不存在等),请重新执行该 SQL 文件以恢复数据一致性。

MySQL 5.7.x

启动 MySQL 实例,复制对应的配置文件。

docker run --name mysql \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7.36

# ~/docker/software/mysql/conf 是本地目录,没有的话需要创建
docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf ~/docker/software/mysql/conf

参数说明:

  • -d:以后台的方式运行。
  • --name mysql:指定容器的名称为 mysql。
  • -p3306:3306:将容器的 3306 端口挂载到宿主机的 3306 端口上。
  • -e MYSQL_ROOT_PASSWORD=root:指定 root 用户的密码为 root。

打开 ~/docker/software/mysql/conf mysqld.cnf 文件,增加以下内容。

# 配置文件中添加如下内容,注意是在在[mysqld]目录中
log-bin=mysql-bin # 开启 binlog
binlog-format=ROW # 选择 ROW 模式
server-id=1 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复

为了后续 Canal 对接,这里直接开启 BinLog 相关配置。

删除原 MySQL 容器,通过新配置创建新的容器。

# 删除运行中的 MySQL 容器
docker rm -f mysql

# 运行 Docker 容器命令
# /etc/localtime 时间同步
# /docker/software/mysql/conf 同步配置文件,上面配置的内容就会覆盖容器中的配置文件
# /docker/software/mysql/log 同步日志目录
# /docker/software/mysql/data 同步 MySQL 的一些文件内容(对数据进行备份)
# MYSQL_ROOT_PASSWORD=root 默认 root 的密码是 root
docker run --name mysql \
-p 3306:3306 \
-v /etc/localtime:/etc/localtime \
-v ~/docker/software/mysql/conf:/etc/mysql/mysql.conf.d \
-v ~/docker/software/mysql/log:/var/log/mysql \
-v ~/docker/software/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7.36

进入到 MySQL 的命令行模式来给 root 账号授权所有 ip 能够访问。

# 使用 MySQL 容器中的命令行
docker exec -it mysql /bin/bash

# 使用 MySQL 命令打开客户端:
mysql -uroot -proot --default-character-set=utf8

# 接着创建一个账户,该账号所有 IP 都能够访问
grant all privileges on *.* to 'root' @'%' identified by 'root';

# 刷新生效
FLUSH PRIVILEGES;

查看 binlog 日志是否已经开启。

# 查看 binlog 日志是否开启
show variables like 'log_%';

# 查看主结点当前状态
show master status;

✅ 若 log_bin 值为 ON,表示配置成功,Canal 可正常接入。

参考图示:

Redis Latest

通过简易方式安装 Redis,主打的就是“有问题铲了重装”:

docker run -p 6379:6379 --name redis  -d redis redis-server --requirepass "123456"

💡 创建命令里默认密码为 123456,可根据需要修改。如果此处修改,项目的配置文件中也需要检查下。

Nacos 2.1.1

通过简易版方式安装,主打的就是有问题铲了重装。

docker run \
-d -p 8848:8848 \
-p 9848:9848 \
--name nacos2 \
-e MODE=standalone \
-e TIME_ZONE='Asia/Shanghai' \
nacos/nacos-server:v2.1.1

参数说明:

  • -d:以后台的方式运行。
  • -p 8848:8848:Web 控制台端口。
  • -p 9848:9848:gRPC 通信端口(Nacos 2.x 必需)。
  • MODE=standalone:单机模式,适合开发测试。
  • TIME_ZONE:设置时区为上海。

运行成功,稍等几秒启动时间,浏览器输入 http://localhost:8848/nacos/index.html 查看控制台。

默认账号密码:nacos / nacos