window下Docker部署Mysql,挂载日志、配置文件和数据,开启binlog

1、下载mysql镜像

docker pull mysql:5.7

2、宿主主机创建挂载目录

dockerFile
    - data
    - conf
    - logs

3、在dockerFile/conf目录下创建文件my.cnf

4、运行容器命令

docker run --name mysql -d -p 3306:3306 -v G:\dockerFile\mysql\data:/var/lib/mysql -v G:\dockerFile\mysql\conf:/etc/mysql/conf.d -v G:\dockerFile\mysql\logs:/var/log/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

结果如下:
在这里插入图片描述

参数说明:
-v /your_directory/mysql/data:/var/lib/mysql     挂载数据库数据
-v /your_directory/mysql/conf:/etc/mysql/conf.d  挂载配置文件
-v /your_directory /mysql/logs:/var/log/mysql     挂载数据库日志
-e MYSQL_ROOT_PASSWORD=your_password             数据库root用户的密码
mysql                                            镜像名
--name your_db_name                              定义的容器名
-d                                               后台运行容器

注:[宿主主机相应目录]:[容器相应目录]

5、在宿主主机文件my.cnf里添加对binlog的支持

[mysqld]
datadir=G:/dockerFile/mysql/data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
#表名大小写不明感,敏感为
lower_case_table_names=1

# 打开binlog
log-bin=G:/dockerFile/mysql/data/mysql-bin

character_set_server=utf8
collation_server=utf8_general_ci
# 选择ROW(行)模式
binlog-format=ROW
##其他正常master/slave配置
##这个配置一定要打开
log_slave_updates=true
# 配置MySQL replaction需要定义,不要和canal的slaveId重复
server_id=1

6、开启binlog日志命令

docker exec c1910ec78d528f0970 bash -c "echo 'log-bin=/var/lib/mysql/mysql-bin' >> /etc/mysql/mysql.conf.d/mysqld.cnf"
docker exec c1910ec78d528f0970 bash -c "echo 'server-id=123454' >> /etc/mysql/mysql.conf.d/mysqld.cnf"
docker restart c1910ec78d528f0970

结果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_22019789

谢谢你的支持,我会再接再厉哒

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值