mysql设置登录失败锁定账户及数据库定时备份

目标

  1. 设置mysql数据库连续登录失败X次锁定X分钟。
  2. 通过定时任务自动备份数据库,只保留最近三天的备份。

一、设置登录失败处理

1、进入mysql命令行

mysql -uroot -p

在这里插入图片描述
2、安装mysql插件

install plugin  CONNECTION_CONTROL soname 'connection_control.so';
install plugin CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS soname 'connection_control.so';

在这里插入图片描述

#查看是否安装成功
show variables like 'connection_control%';

如下图则安装成功!
在这里插入图片描述
3、配置锁定策略

#1、退出mysql命令行
exit
#2.编辑mysql配置文件
vim /etc/my.cnf

在这里插入图片描述
在这里插入图片描述
在配置文件中插入内容:

#失败次数
connection-control-failed-connections-threshold=3
#锁定时间,单位毫秒
connection-control-min-connection-delay=60000

在这里插入图片描述
重启mysql服务,即配置成功

systemctl restart mysqld

二、备份数据库

1、编写shell脚本

#!/bin/bash
#当前时间格式化输出
ctime=$(date '+%Y%m%d%H%M')
#使用当前时间的方式命名备份的sql文件
name=$ctime".sql"
#备份前先检查存放sql备份的目录里面的文件是否过期(3天),过期则删除掉
find /home/yu/shell/sql-back/ -type f -mtime +3 | xargs rm -rf
#开始将数据库转存为sql文件
mysqldump -uroot -pxxxxx mysql > $name
#将转存的sql文件移动到专门用于存放备份的目录中
mv ./$name /home/yu/shell/sql-back/

使用说明:
find和mv后面的路径请确保真实存在,或者是更换为实际应用场景需要的目录。
2、配置定时任务

#编辑配置文件
vim /etc/crontab

在这里插入图片描述
在底部插入内容:

#我这里设置的是每天11点52分,以root用户执行备份脚本
52 11 * * * root cd /home/yu/shell/ && ./back.sh

在这里插入图片描述
说明:

 52  11  *   *   *   root     cd /home/yu/shell/ && ./back.sh
#分  时  天  月   周   执行用户    执行的动作
#我这里使用的时先进入目录再执行,这样的好处是可以避免脚本中可能会有相对路径。
#脚本里存在相对路径定时任务执行时可能会找不到。

注意插入内容后重启定时任务的服务!

systemctl restart crond	

完成以上操作,即可设置成功!

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值