基于命令行mysqldump -u root -p test>/tmp/mysql 命令,要实现执行备份命令中mysqldump不需要交互输入密码过程:
1.修改配置文件在mysql配置文件mysqld.cnf中添加:
[mysqldump]
user=root
password=xxxxx
找到socket = /var/run/mysqld/mysqld.sock
修改权限chmod不运行其他人查看。
执行mysqldump -u root -S /var/run/mysqld/mysqld.sock test此时则不需要输入密码即可完成备份。
自定义完成备份并删除过期备份脚本:
#!/bin/bash nowdate=`date +%y%m%d%H%M`
date=`date +%y%m%d`
num1=`find /root/mysql/bak/ -name "*$date*" |wc -l` min=`find /root/mysql/bak/ -name "*$date*" |sort -t. -k2 -n |cut -d. -f2|head -1` deldir=`find /root/mysql/bak/ -name "*$min*"`
for backupDB in ldct_test leader_control imp_test; do
mysqldump -u root -S /var/run/mysqld/mysqld.sock "$backupDB">/root/mysql/bak/"$backupDB.$nowdate"
done
if [ $num1 -gt 10 ];then
rm $deldir
fi