运维之道 | MySQL8.0自动备份脚本

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
运维之道 | MySQL8.0自动备份脚本_第1张图片

####### 进入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’;
运维之道 | MySQL8.0自动备份脚本_第2张图片

4、使用命令检测shell脚本是否可正常使用,并执行.sh脚本

[root@localhost shell]# sh -n aoto_backup_msysql.sh      (检测)
[root@localhost shell]# /bin/sh aoto_backup_msysql.sh    (执行)

在这里插入图片描述

5、成功备份在这里插入图片描述

你可能感兴趣的:(MySQL)