实战-自动备份mysql数据库脚本

从centos7.0开始,系统中自带的mysql数据库包,改为mariadb数据库。

MariaDB数据库概述:MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。MariaDB由MySQL的创始人Michael Widenius(迈克尔·维德纽斯)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria(玛丽亚)的名字。

甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。 过去一年中,大型互联网用户以及Linux发行商纷纷抛弃MySQL,转投MariaDB阵营。MariaDB是目前最受关注的MySQL数据库衍生版,也被视为开源数据库MySQL的替代品。

安装mariadb数据库:

# yum install -y mariadb mariadb-server -y

# mariadb 是mysql的客户端命令 ;mariadb mariadb-server 是mysql服务端命令

# rpm -qf /usr/bin/mysql

mariadb-5.5.56-2.el7.x86_64

# systemctl start mariadb

登录mysql:

# mysqladmin  -u root password "123456"   #给root用户配置一个密码123456

# mysql -u root -p123456  #登录mysql数据库

MariaDB [(none)]> show databases;

MariaDB [(none)]> create database xuegod  ;    #创建xuegod数据库

MariaDB [(none)]> use xuegod        #选择数据库

MariaDB [xuegod]> create table user (id int);   #创建user表,只有一个id字段

MariaDB [xuegod]> insert into user values(1);   #插入一条记录,id字段值1

MariaDB [xuegod]> insert into user values(2);   #插入一条记录,id字段值2

MariaDB [xuegod]> select * from user;   #查看表中的数据

+------+

| id   |

+------+

|    1 |

|    2 |

+------+

mysql自动化备份脚本:

思路: 

1、检查一下运行环境: 目录是否存在,时间,权限,用户 

2、运行要执行的命令:备份,导出数据。。。

3、把命令执行过程中的没有用的文件删除一下

4、弹出命令运行成功的消息

[root@localhost shell]# cat mysql-back-auto.sh 

#!/bin/sh 
#auto backup mysql 
#Define PATH定义变量
BAKDIR=/data/backup/mysql/`date +%Y-%m-%d` 
MYSQLDB=xuegod    #mysql数据库库名
MYSQLUSR=root        #mysql数据库用户名 
MYSQLPW=123456    #mysql数据库密码     
#must use root user run scripts 必须使用root用户运行,$UID为系统变量

if 
   [ $UID -ne 0 ];then 
   echo This script must use the root user ! ! ! 
   sleep 2 
   exit 0 
fi 

#Define DIR and mkdir DIR 判断目录是否存在,不存在则新建
if 
   [ ! -d $BAKDIR ];then 
   mkdir -p $BAKDIR 
else 
   echo This is $BAKDIR exists.... 
   exit
fi

#Use mysqldump backup mysql 使用mysqldump备份数据库
/usr/bin/mysqldump -u$MYSQLUSR  -p$MYSQLPW   $MYSQLDB > $BAKDIR/${MYSQLDB}_db.sql 
cd $BAKDIR ; tar -czf  ${MYSQLDB}_db.tar.gz *.sql 

#查找备份目录下以.sql结尾的文件并删除
find  $BAKDIR  -type f -name *.sql -exec rm -rf {} \;
#或
#如果数据库备份成功,则打印成功,并删除备份目录30天以前的目录
[ $? -eq 0 ] && echo “This `date +%Y-%m-%d` MySQL BACKUP is SUCCESS” 
cd /data/backup/mysql/ && find . -type d -mtime +30 |xargs rm -rf 
echo "The mysql backup successfully "

版权声明:
作者:WaterBear
链接:https://l-t.top/1642.html
来源:雷霆运维
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>