1. 使用 mysql/mysql-server:5.7
镜像
创建一个名为 docker-compose.yml
的文件,内容如下:
yaml
version: '3.1'
services:
mysql:
image: mysql/mysql-server:5.7
container_name: mysql57
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: yourpassword
MYSQL_DATABASE: yourdatabase
MYSQL_USER: youruser
MYSQL_PASSWORD: yourpassword
volumes:
- mysql_data:/var/lib/mysql
- ./my.cnf:/etc/mysql/my.cnf
volumes:
mysql_data:
2. 创建 MySQL 配置文件
在相同的目录下,创建一个名为 my.cnf
的 MySQL 配置文件,用于启用 binlog。这个文件将覆盖容器内的默认 MySQL 配置文件。
ini
[mysqld]
server-id=1
log_bin=/var/lib/mysql/mysql-bin.log
binlog_format=row
3. 启动 Docker 容器
在终端中,导航到 docker-compose.yml
文件所在的目录,然后运行以下命令启动 MySQL 容器:
sh
docker-compose up -d
这个命令会在后台启动 MySQL 容器,并根据 docker-compose.yml
文件中的配置启用 binlog。
4. 验证 Binlog 是否开启
连接到 MySQL 容器并验证 binlog 是否已正确启用。
sh
docker exec -it mysql57 mysql -u root -p
输入你的 MySQL root 用户密码进入 MySQL shell,然后运行以下 SQL 语句以确认 binlog 是否启用:
sql
SHOW VARIABLES LIKE 'log_bin';
SHOW VARIABLES LIKE 'binlog_format';
SHOW MASTER STATUS;
5. 示例 Docker Compose 文件目录结构
确保你的目录结构如下:
/path/to/your/project
│
├── docker-compose.yml
└── my.cnf
通过上述步骤,你应该可以在 Mac M1 上使用 Docker 成功安装 MySQL 5.7 并启用 binlog。如果你遇到任何问题,请检查 Docker 日志或者容器日志以获取更多信息。