为了账号安全,请及时绑定邮箱和手机立即绑定

Docker build MySQL 8.0.21 with BinLog


Sep 6, 2020


1. 从docker hub 拉取mysql 8.0.21 

docker pull msyql:8.0.21 

也可以创建容器时候自动拉取


2. 创建config文件,用于配置mysql 

建议放到个人目录,很多guide都是放到/home/data下,实际上macOs等会出现权限问题 命令行执行: 

2.1 vi Users/wang/mysql8/config/my.cnf


2.2 把配置放入上文件并保存


[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# Custom config should go here
!includedir /etc/mysql/conf.d/

default_authentication_plugin= mysql_native_password

#bin log setting
log-bin = /var/lib/mysql/mysql-bin
binlog-format = ROW
server-id = 1

#client connect
bind-address = 0.0.0.0



3. 创建Mysql8容器 docker run 

-p 3307:3306 

-e MYSQL_ROOT_PASSWORD=root 

-v /Users/wang/mysql8/data:/var/lib/mysql:rw 

-v /Users/wang/mysql8/log:/var/log/mysql:rw 

-v /Users/wang/mysql8/config/my.cnf:/etc/mysql/my.cnf:rw

-v /etc/localtime:/etc/localtime:ro 

–name mysql8 

–restart=always 

-d mysql:8.0.21


如果/etc/localtime报错可以拿点,权限需要配置


4.启动容器并进入Mysql8查看binlog是否开启成功 

4.1 启动容器 docker start mysql8 

4.2 进入容器 docker exec -ti mysql8 bash 

4.3 登陆mysql mysql -u root -p 

4.4 查看binLog是否开启成功 show variables like ‘log_bin’


5. 网上有后期追加binlog的方式, 有一种通过容器内echo追加my.cnf里参数的方式貌似可行,大家可以自己尝试,成长在于折腾!

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消