shell study-16day--mysql数据库备份

1、MariaDB数据库备份脚本

(1)MariaDB数据库简介

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

MariaDB 数据库概述:MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL授权许可 MariaDB 的目的是完全兼容 MySQL,包括 API 和命令行,使之能轻松成为 MySQL 的代替品。

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

(2)centos7.3安装mariadb

#安装

[root@test ~]# yum -y install mariadb mariadb-server

 #查看安装版本信息

[root@test ~]# rpm -qa |grep mariadb 
mariadb-libs-5.5.68-1.el7.x86_64
mariadb-server-5.5.68-1.el7.x86_64
mariadb-5.5.68-1.el7.x86_64

#启动mariadb

[root@test ~]# systemctl start mariadb

#设置mysql数据库root密码

[root@test ~]# mysqladmin  -u root password "123456"

 #登录mysql并创建book库,book库中创建user表,插入一条记录,字段id字段值为1.

[root@test ~]# mysql -u root -p 
MariaDB [(none)]> show databases;
MariaDB [(none)]> create database book;
MariaDB [(none)]> use book;
MariaDB [book]> create table user(id int); 
MariaDB [book]> insert into user values(1);
MariaDB [book]> select  * from user;    
+------+
| id   |
+------+
|    1 |
+------+
1 row in set (0.00 sec)
 
MariaDB [book]> commit;
MariaDB [book]>quit

(3)定时备份脚本

[root@test home]# cat mysql-back.sh 
#/bin/bash
# msyql back 
# YX 
# 2020.11.21
backdir=/home/mysql/back/`date +"%Y-%m-%d"`
mysqldb=book
mysqluser=root
mysqlpassword=123456
#必须使用root用户,使用$UID进行判断,root用户uid为0.
if [ $UID -ne 0 ];then
    echo "YOU need root user"
    exit
fi
 
#判断备份文件目录是否存在,不存在则创建
if [ ! -d $backdir ];then 
   mkdir -p $backdir
else
   echo "this dir is exit"
   exit
fi
 
#mysql备份
/usr/bin/mysqldump -u$mysqluser -p$mysqlpassword $mysqldb >$backdir/${mysqldb}_`date +%Y-%m-%d-%H-%S`.sql;
cd $backdir;
tar -zcvf ${mysqldb}_tar.gz *.sql;
find $backdir -type f -name *.sql -exec rm -rf {} \;
echo "mysql backup successfully"
[root@test home]# sh mysql-back.sh 
book_2020-11-21-23-43.sql
mysql backup successfully
[root@test home]# ls /home/mysql/back/2020-11-21/
book_tar.gz
[root@test home]#

个人公众号:

shell study-16day--mysql数据库备份


上一篇:[Java多线程]如何创建线程


下一篇:linux-无法在ARMv7处理器Ubuntu 14.04上运行mksdcard sdk工具