MySQL8.0自动备份脚本
1、在/data目录下创建一个shell目录,用于存放备份脚本
–创建目录
mkdir /data/shell
2、创建备份脚本
vim aotu_backup_mysql.sh
#!/bin/bash
#aoto bakcup mysql db
#by authors zwl 2019
#define backup path
BAK_DIR=/data/backup/`date +%Y%m%d`
MYSQLDB=zwl
MYSQLUSR=backup
MYSQLPW=123456
MYSQLCDM=/usr/bin/mysqldump
if [ $UID -ne 0 ];then
echo "Must to be use root for exec shell."
fi
if [ ! -d $BAK_DIR ];then
mkdir -p $BAK_DIR
echo -e "\033[32mTHE $BAK_DIR Create successfully!\033[0m"
else
echo "This $BAK_DIR is exists... "
fi
######################## Mysql Backup command
$MYSQLCMD -u$MYSQLUSR -p$MYSQLPW -d$MYSQLDB > $BAK_DIR/$MYSQLDB.sql
if [ $? -eq 0 ];then
echo -e "\033mThe Mysql Backup $MYSQLDB Succeesfully!\033[0m"
else
echo -e "\033mThe Mysql Backup $MYSQLDB Failed,please check!\033[0m"
fi
3、登录mysql服务,创建备份用户及授权
登录mysql: mysql -u root -p
####### 进入mysql,查看当前所存在的database,tabels #######
mysql> show databases;
±-------------------+
| Database |
±-------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| sziit |
| zwl |
±-------------------+
6 rows in set (0.01 sec)
mysql> use zwl;
Database changed
mysql>
mysql>
mysql> show tables;
±--------------+
| Tables_in_zwl |
±--------------+
| home |
| sziit |
| zwl |
±--------------+
3 rows in set (0.00 sec)
创建用户并授权
– 先创建用户
create user ‘villian’@‘localhost’ identified by ‘123456’;
– 再授权
grant select,update on home.name to ‘villian’@‘localhost’;
4、使用命令检测shell脚本是否可正常使用,并执行.sh脚本
[root@localhost shell]# sh -n aoto_backup_msysql.sh (检测)
[root@localhost shell]# /bin/sh aoto_backup_msysql.sh (执行)
5、成功备份
转载:https://blog.csdn.net/VillianTsang/article/details/101610705