mysql5.7数据库配置(安全以及binlog)

一、数据库未配置密码复杂度策略,未定期更换口令。

1、安装validate_password插件:

  • 登录mysql,查询已安装的插件:show plugins;

  • 查询mysql插件目录位置:show variables like "%plugin_dir%";

    找到对应的目录,mysql自带 validate_password,然后我们将这个插件进行安装

  • 通过命令行安装(可以不用重启服务):install plugin validate_password soname 'validate_password.dll';
  • 密码强度应设置为MEDIUM:set global validate_password_policy=1;

    *设置口令有效期: SET GLOBAL default_password_lifetime = 180;
    也可以为不同用户设置不同的有效期:ALTER USER 'jeffrey'@'localhost' PASSWORD EXPIRE INTERVAL 90 DAY;

二、配置失败登陆处理功能以及超时自动退出功能

  • 会话限制模块:install plugin connection_control soname 'connection_control.dll';
    • 查看: show variables like '%connection_control%';
    • 根据需求设置锁定时间: set global connection_control_min_connection_delay=60000;
  • 设 置 数 据 库 参 数wait_timeout 的值
    • set global interactive_timeout=10;
    • set global wait_timeout=20;

所以的设置都可以在my.ini文件中修改(但是要重启mysql服务,所以不推荐,建议直接在运行状态下进行修改)比如:

三、数据库开启 SSL 协议

5.7的版本不支持

四、数据库开启binlog

  • 在my.ini文件,mysqld下添加以下配置(需要重启服务,或者通过上面的形式直接运行态用命令行修改)

    是 binlog 的名字前缀 可以在前面添加指定路径比如:D:\mysqlServer\mysql-5.7.27\Data\mysql-bin;不添加默认在Data文件夹下

    log-bin=mysql-bin

    0表示由计算机系统自行决定刷新binlog 的时间,也可以定义0-N的任意数字,表示多少个事务刷新

    sync_binlog=1

    更详细的模式(ROW 模式)记录更改

    binlog-format=ROW

    设置单个 binlog 文件的大小上限

    max_binlog_size=512M

    确保每个复制服务器都有唯一的 server-id

    server-id=1

  • 新建一张测试表进行binlog功能测试

  • 找到目前的binary log存储位置

  • 查看bin-log

    此时代表binlog已经开启并且成功写入文件

  • 对binlog定期进行恢复性测试

    • 删除之前建好的数据库
    • 进行恢复性测试(在Data目录下打开终端执行)(mysqlbinlog --start-datetime="2024-01-17 13:22:25" --stop-datetime="2024-01-17 13:55:18" mysql-bin.000002 | mysql -u root -p -P 3307)
相关推荐
AllData公司负责人31 分钟前
AI大模型数据开发底座系列说明书:AllData集成DB-GPT开源项目建设 AI 多模态分析底座,涵盖模态解析/智能大屏/MCP 扩展!
大数据·数据库·人工智能·gpt·数据采集·数据接入·模态解析
2601_967987371 小时前
Sqlite参考手册
数据库·python·sqlite·api·教程
疯华整猫1 小时前
否决 Flutter 提案那天,我发现自己也说不清 Framework 管什么
android
KCENN1 小时前
安全触边在电梯轿厢门防夹保护系统中的选型配置与长效维护要点
安全
隔窗听雨眠2 小时前
Oracle日志体系分层结构与故障定位路径
数据库·oracle·故障排查
为思念酝酿的痛2 小时前
C语言操作MySQL
数据库·mysql
ShineWinsu2 小时前
对于Qt:QTabWidget常见属性的解析
开发语言·数据库·c++·qt·浏览器·qtabwidget·标签页
星恒随风12 小时前
MySQL 从零入门(五):MySQL 内置函数详解——日期、字符串、数学函数与实战案例
linux·数据库·笔记·sql·mysql
小雉系统12 小时前
BcoreOS安全通信架构:FsSession 抗算法后门安全设计
算法·安全·架构
传奇开心果编程14 小时前
【Flutter踩坑排雷】第25课:ScrollController 误用坑|跳转失效、监听泄漏与“控制器未附加”
android·flutter·ios·移动开发·跨平台·dart·声明式ui