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)
相关推荐
运维行者_1 分钟前
如何为您的企业选择最佳网络监控工具
大数据·运维·服务器·网络·数据库
码云骑士3 分钟前
【1.2Java基础】Win10环境变量配置详解-从原理到排雷
android·java
AI玫瑰助手4 分钟前
Python函数:匿名函数lambda的定义与使用场景
android·java·python
刃神太酷啦5 分钟前
MySQL 库表操作 +数据类型+ 基础概念全梳理----《Hello MySQL!》(2)
java·c语言·数据库·c++·vscode·mysql·adb
GIS数据转换器1 小时前
无人机车载巡检系统
大数据·数据库·人工智能·数据挖掘·数据分析·无人机
AOwhisky9 小时前
MySQL 学习笔记(第四期):SQL 语言之多表查询
linux·运维·网络·数据库·笔记·学习·mysql
小红卒9 小时前
mysql之udf提权
数据库·mysql·网络安全
王码码20359 小时前
多台服务器怎么统一看状态?Beszel 轻量监控,搭起来不费事
运维·服务器·后端·安全·阿里云·接口·web
ylscode9 小时前
Anthropic Claude Oceanus意外泄露:Mythos系列AI红队测试遭遇API代理滥用危机
网络·人工智能·安全·web安全·安全威胁分析
Trouvaille ~10 小时前
【Redis篇】Redis 哨兵(Sentinel):高可用自动故障转移
数据库·redis·缓存·中间件·sentinel·高可用·哨兵