编写一键备份MYSQL数据库脚本

远程备份mysql数据库

1.mysql需要有远程访问权限

这里我为了方便,就设置所有地址都可以访问了。如果没有,在数据库中执行如下命令

创建备份用户及授权
>grant select,lock tables on *.* to "backup"@"192.168.233.%" identified by "123456";
#授权一个用户,并限制地址在192.168.233.*网段。安全性更高
>grant all on *.* to "root"@"%" identified by "123456"; 
#授权所有地址都可以远程登录
>flush privileges;
>select Host,User,Password from mysql.user;   

2.shell脚本编写

#!/bin/bash
#2020年7月6日
#backup msyql_db.
#by author TuDestiny
######################
MYSQL_IP="192.168.233.129"
MYSQL_USER="root"
MYSQL_PASSWD="123456"
date=`date +%Y%m%d%H%M`

if (($# < 1));then
	echo "输入需要备份的数据库名"
	exit 1
fi

for database in $*
do
	mysqldump -h $MYSQL_IP -u$MYSQL_USER -p${MYSQL_PASSWD} -B ${database}>${database}${date}.sql

		if [ $? -ne 0 ];then
			 echo "数据库${database}备份失败,YOU are A FOOL!!!"
        		 exit 1
        
      		else
        		echo "数据库${database}备份成功,YOU are GREAT!!!"
		fi

done

3.执行结果

[Warning] Using a password on the command line interface can be insecure.此告警为密码不够安全,可以将密码设置复杂一些,可解决

本文地址:https://blog.csdn.net/TuDestiny/article/details/107160682

THE END
喜欢就支持一下吧
点赞6 分享