mysqldump添加安全连接
一般使用mysqldump写脚本备份时,常见的是直接将密码明文写在脚本。运行时MySQL客户端跳出警告:
mysqldump: [Warning] Using a password on the command line interface can be insecure.
明文的账号密码,只要有心人拿到,可以对你的数据库任意操作(觉得没人会管你的数据无所谓)。我们需要有一个安全登录解决的方法。mysql_config_editor的–login-path可以完成该工作。
# 添加安全连接
mysql_config_editor set --login-path=mydb --host=127.0.0.1 --user=root --password #回车后输入密码,配置存储在¥HOME/.mylogin.conf
#数据库备份脚本增加
mysqldump --login-path=mydb
完成备份脚本:
#!/bin/bash
source /etc/profile
##在变量中输入需备份的库名
data[1]="information_schema"
data[2]="mysql"
data[3]="performance_schema"
data[4]="sys"
##在变量中输入备份存放绝对路径
bakdir="/xxx/MYSQL_DATA_BAK"
############################################
############################################
time=`date '+%Y%m%d'`
mkdir -p ${bakdir}/${time}
#循环加载变量
for g in ${data[@]}
do
mysqldump --login-path=mydb --set-gtid-purged=off --skip-opt --create-options --single-transaction -R -q --events --triggers --databases ${g} | gzip > ${bakdir}/${time}/${g}-sqlbak.gz
done
#zip打包删除源文件
cd ${bakdir}
zip -r -q -m ${time}-sqlbak.zip ${time}
#删除7天前zip文件
find ${bakdir} -name "*zip" -mtime +7 -exec rm -rf {} \;
评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果