Docker内部MySQL开启binlog日志

网友投稿 375 2022-10-18

Docker内部MySQL开启binlog日志

查看 binlog状态

在MySQL终端执行一下, Navicat都行

show variables like '%log_bin%'

修改Docker的MySQL的my.cnf配置文件

添加下面内容,注意: log-bin = /logs/mysql-bin.log 是Docker内部的路径,不是Linux宿主机的路径

#设置日志格式binlog_format = mixed#设置日志路径,注意路经需要mysql用户有权限写log-bin = /logs/mysql-bin.log#设置binlog清理时间expire_logs_days = 5#binlog每个日志文件大小max_binlog_size = 50m#binlog缓存大小binlog_cache_size = 4m#最大binlog缓存大小max_binlog_cache_size = 512m

重启docker容器重启失败发现报错信息

docker restart 命令重启docker之后发现重启失败 查看docker日志: docker logs 容器id

2021-01-16 07:05:53 0 [Note] mysqld (mysqld 5.6.49-log) starting as process 29 ...mysqld: File '/logs/mysql-bin.index' not found (Errcode: 13 - Permission denied)2021-01-16 07:05:53 29 [ERROR] Aborting2021-01-16 07:05:53 29 [Note] Binlog end

上面意思是没权限,需要给docker内部的这个/logs赋予权限,

开始解决问题

把上面修改binlog的配置还原回来,重启docker容器, 让docker重启成功,进入docker容器 命令 : docker exec -it 容器id bash

进入容器之后执行:

chown -R mysql:mysql /logs

修改MySQL目录的用户和用户组权限

修改完了之后退出docker

然后再给修改binlog日志信息. 接着重启docker容器,.发现docker容器启动成功

验证一下

连接MySQL执行一下

show variables like '%log_bin%'

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:mybatis如何实现的数据库排序
下一篇:传统部署项目演化以及Docker价值
相关文章

 发表评论

暂时没有评论,来抢沙发吧~