docker mysql 开启binlog centos
时间: 2024-11-16 13:00:41 浏览: 22
Docker 中部署 MySQL 并开启 binlog(二进制日志)通常用于数据库备份、数据迁移和监控等场景。以下是基本步骤:
1. **安装 Docker 和 MySQL**:
- 首先确保你的 CentOS 系统已经安装了 Docker。如果没有,你可以通过 `sudo yum install docker-ce` 安装最新版本。
2. **创建 Dockerfile**:
编辑一个 Dockerfile,定义镜像基础和安装 MySQL 的配置。例如:
```dockerfile
FROM mysql:latest
# 设置环境变量
ENV MYSQL_ROOT_PASSWORD=mysecretpassword
# 开启 binlog
RUN sed -i 's/#log-bin=mysql-bin/log-bin=mysql-bin/g' /etc/my.cnf
```
3. **构建 Docker 映像**:
```
docker build -t my-mysql .
```
这将基于上述 Dockerfile 构建一个新的 MySQL 映像。
4. **运行容器并映射端口**:
```
docker run -d --name my-mysql -p 3306:3306 -e MYSQL_DATABASE=mydb -e MYSQL_USER=myuser -v /path/to/local/mysql/data:/var/lib/mysql my-mysql
```
`-p` 参数用于绑定主机的 3306 端口到容器内的同名端口,`-v` 参数挂载本地的数据目录以便持久化存储。
5. **启用 binlog**:
登录到容器中并设置 binlog 文件的位置以及所需的日志格式:
```
docker exec -it my-mysql mysql -uroot
SET GLOBAL log_bin = '/var/log/mysql/binlog';
FLUSH LOGS;
```
阅读全文