Docker内部MySQL如何开启binlog日志

 更新时间:2024年04月01日 15:00:00   作者:张俊杰1994  
这篇文章主要介绍了Docker内部MySQL如何开启binlog日志问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

查看 binlog状态

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

show variables like '%log_bin%'

发现是没有开启binlog

修改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] Aborting
2021-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%'

发现已经开启binlog

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 使用docker搭建sonarqube的方法

    使用docker搭建sonarqube的方法

    这篇文章主要介绍了使用docker搭建sonarqube的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • docker安装rabbitmq无法进入管理页面的问题

    docker安装rabbitmq无法进入管理页面的问题

    这篇文章主要介绍了docker安装rabbitmq无法进入管理页面的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • centos7安装docker容器的超详细步骤记录

    centos7安装docker容器的超详细步骤记录

    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows机器上,这篇文章主要给大家介绍了关于centos7安装docker容器的超详细步需要的朋友可以参考下
    2022-08-08
  • 树莓派安装Docker的方法步骤

    树莓派安装Docker的方法步骤

    这篇文章主要介绍了树莓派安装Docker的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • Docker 简单部署 ElasticSearch的实现方法

    Docker 简单部署 ElasticSearch的实现方法

    这篇文章主要介绍了Docker 简单部署 ElasticSearch的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • Docker网络原理及自定义网络详细解析

    Docker网络原理及自定义网络详细解析

    一般使用自定义网络,自定义网络使用network创建,创建时可以指定子网网段及网关等信息,在创建并启动容器时指定使用的网络,今天通过本文给大家介绍Docker网络原理及自定义网络的相关知识,感兴趣的朋友一起看看吧
    2021-05-05
  • docker部署nginx下日志自动切割方法实现

    docker部署nginx下日志自动切割方法实现

    部署Nginx在Docker中时,其日志文件默认不会自动切割,与非Docker环境有所不同,本文介绍了三种日志切割方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-10-10
  • Docker超详细讲解镜像操作

    Docker超详细讲解镜像操作

    镜像也是 docker 的核心组件之一,镜像时容器运行的基础,容器是镜像运行后的形态。本文主要介绍Docker镜像的基本操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • docker部署redis报错内存分配过度解决办法

    docker部署redis报错内存分配过度解决办法

    Docker很适合用于测试发布,将Docker封装后可以直接提供给测试人员进行运行,不再需要测试人员与运维、开发进行配合,进行环境搭建与部署,这篇文章主要给大家介绍了关于docker部署redis报错内存分配过度的解决办法,需要的朋友可以参考下
    2023-11-11
  • idea集合docker实现镜像打包一键部署

    idea集合docker实现镜像打包一键部署

    这篇文章主要介绍了idea集合docker实现镜像打包一键部署
    2021-02-02

最新评论