当前位置: 首页 > article >正文

docker 创建mysql5.7 并开启bin_log和general_log日志审计功能

一、docker部署MySQL

1、本地镜像部署

(1)镜像地址:

链接:https://pan.baidu.com/s/1LAUoc8EGjHgrKELAdpkGbA?pwd=smy6 
提取码:smy6

(2)部署本地镜像

将下好的镜像放到对应的目录下面,下面的代码要路径也要根据自己的情况改。

docker load -i /home/mysql_5.7.44_images.tar

(3)创建MySQL镜像

docker run -d \
  --name pxh-mysql \
  -p 3306:3306 \
  --log-opt max-size=5m \
  --log-opt max-file=50 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=123456 \
  -v /home/mysql/data:/var/lib/mysql \
  -v /home/mysql/conf:/etc/mysql/conf.d \
  -v /home/mysql/init:/docker-entrypoint-initdb.d \
  -v /home/mysql/log:/var/log/mysql \
  --network pxh \
  mysql:5.7.44 docker-entrypoint.sh mysqld 

 2、直接拉取容器+部署镜像

docker run -d \
  --name pxh-mysql \
  -p 3306:3306 \
  --log-opt max-size=5m \
  --log-opt max-file=50 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=123456 \
  -v /home/mysql/data:/var/lib/mysql \
  -v /home/mysql/conf:/etc/mysql/conf.d \
  -v /home/mysql/init:/docker-entrypoint-initdb.d \
  -v /home/mysql/log:/var/log/mysql \
  --network pxh \
  mysql:5.7.44

3、字段说明

(1)这里  “-v /home/mysql/log:/var/log/mysql \” 是我们后面开启日志的时候存放日志的地址,映射出来方便对日志进行独立管理

(2)  "-e MYSQL_ROOT_PASSWORD=123456 \ "密码一开始设置简单一点,后面在对密码进行修改,如果创建容器就设置复杂的密码会创建失败(实测!避坑!)

4、修改密码

docker exec -it pxh-mysql bash
mysql -u root -p123456
use mysql
update user set authentication_string=password("新密码") where user="root"; 
flush privileges;

二、开启日志审计功能

1、找到刚才映射的配置地址

【  -v /home/mysql/conf:/etc/mysql/conf.d \】

cd /home/mysql/conf

2、创建一个文件 xxx.cnf

3、文件中写入以下内容

[mysqld]
# binlog日志
#设置日志三种格式:STATEMENT、ROW、MIXED 。
binlog_format = mixed
#设置日志路径,注意路经需要mysql用户有权限写,这里可以写绝对路径,也可以直接写mysql-bin(后者默认就是在/var/lib/mysql目录下)
log-bin =/var/log/mysql/mysql-bin.log
#设置binlog清理时间
expire_logs_days = 180
#binlog每个日志文件大小
max_binlog_size = 10m
#binlog缓存大小
binlog_cache_size = 4m
#最大binlog缓存大小
max_binlog_cache_size = 512m
#配置serverid
server-id=1

# general_log日志
general_log = 1
#保存位置
general_log_file = /var/log/mysql/general.log 

4、最后重启mysql容器就可以了!

你就会看到你的日志文件夹里面多出这几个文件!

5、可能会出现的问题

(1)如果配置文件后重启失败

这里可能是你配置的文件存放路径在容器里面没有,注意是容器内路径没有!不要在你的外面的文件目录创建路径,是没有用的!

这里你可以修改一下配置文件里面的路径,如果需要不想重新创建MySQL容器,可以改成和data路径一样就行。

(2)更新中...


http://www.kler.cn/a/593649.html

相关文章:

  • docker 内 pytorch cuda 不可用
  • 【JavaEE】传递和接收数据,Spring MVC 注解搭建前后端交互的「隐形桥梁」
  • Android Compose 框架图片加载深入剖析(六)
  • 【Linux】统信操作系统进入单用户如何修改密码
  • 通过AI自动生成springboot的CRUD以及单元测试与压力测试源码(完整版)
  • 【Java集合夜话】第1篇:拨开迷雾,探寻集合框架的精妙设计
  • 2025年渗透测试面试题总结- PingCAP安全工程师(题目+回答)
  • selenium之基础整理
  • Asahi Linux 核心开发者暂停苹果 GPU Linux 驱动开发工作
  • Photoshop基础操作全解析
  • 【Linux内核系列】:动静态库详解
  • 基于AT89C52单片机的串口电子秤设计
  • 【Linux进程】——进程的程序地址空间
  • freeswitch 编译
  • 深入自制Shell:解锁Linux进程控制的实践密码
  • C#通过API接口返回流式响应内容---SignalR方式
  • Powershell WSL导出导入ubuntu22.04.5子系统
  • 【数据库系统原理】Ch7 数据库应用设计与开发实例
  • NLP探索
  • 目标检测中归一化的目的?