mysql自动备份多个数据库的实现

 更新时间:2023年07月19日 11:43:58   作者:moxiaoran5753  
本文主要介绍了mysql自动备份多个数据库的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1.编写mysql自动备份shell脚本,比如在/opt/data/backup/sh路径下创建文件 mysql_backup.sh

#!/bin/bash
#备份目录
BACKUP=/opt/data/backup/mysql
DATETIME=$(date +%Y-%m-%d_%H-%M-%S)
echo $DATETIME
#数据库的地址
HOST=127.0.0.1
#数据库用户名
DB_USER=root
#数据库密码
DB_PW=root
#备份的数据库名
DATABASE1=db-test
DATABASE2=test2
DATABASE3=test3
#创建备份目录
if [ ! -d "${BACKUP}/${DATETIME}" ]
then
mkdir -p "${BACKUP}/${DATETIME}"
fi
cd ${BACKUP}/${DATETIME}
mkdir ${DATABASE}
mkdir test2
mkdir test3
#备份数据库
/usr/local/mysql/bin/mysqldump -u${DB_USER} -p${DB_PW} -h ${HOST} ${DATABASE1} > ${BACKUP}/${DATETIME}/${DATABASE1}/$DATETIME.sql
/usr/local/mysql/bin/mysqldump -u${DB_USER} -p${DB_PW} -h ${HOST} ${DATABASE2}  > ${BACKUP}/${DATETIME}/${DATABASE2} /$DATETIME.sql
/usr/local/mysql/bin/mysqldump -u${DB_USER} -p${DB_PW} -h ${HOST} ${DATABASE3}  > ${BACKUP}/${DATETIME}/${DATABASE3} /$DATETIME.sql
#将文件压缩成 tar.gz
cd ${BACKUP}
tar -zcvf $DATETIME.tar.gz ${DATETIME}
#删除7天前的的备份文件
find ${BACKUP} -atime +7 -name "*.tar.gz" -exec rm -rf {} \;
echo "备份数据库db-test成功"
echo "备份数据库test2 成功"
echo "备份数据库test3 成功"

2.为文件添加执行权限:

chmod 775 /opt/data/backup/sh/mysql_backup.sh

3.检查shell脚本编写是否有误

这里可分成2步,第1步,执行mysql备份命令:

/usr/local/mysql/bin/mysqldump -u${DB_USER} -p${DB_PW} -h ${HOST} ${DATABASE1} > ${BACKUP}/${DATETIME}/${DATABASE1}/$DATETIME.sql

注意将上面的变量替换为真实值,存放目录需真实存在。如果能备份成功,且将数据输出到备份的SQL文件,进入第2步验证,直接执行shell脚本

/opt/data/backup/sh/mysql_backup.sh

如果正常执行,且输出的SQL脚本真实有数据,则证明shell备份脚本通过,否则根据提示的错误信息进行修正。

4.添加到linux定时任务中,输入下面的命令添加一个定时任务:

crontab -e

输入:

50 23 *  *  0  /opt/data/backup/sh/mysql_backup.sh

上面的命令表示,每周天晚上23点50分执行上面的mysql备份脚本,更多时间表述请自行查询,需注意的是定时任务如果用root账号添加的,普通账号将无法查看。

到此这篇关于mysql自动备份多个数据库的实现的文章就介绍到这了,更多相关mysql自动备份数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL学习之DDL数据库定义与操作

    MySQL学习之DDL数据库定义与操作

    本文详细介绍SQL中DDL的数据库操作,包括查询、创建、删除数据库和表的操作,以及修改表结构等功能,通过这些操作,读者可以深入了解如何使用SQL进行数据库管理和维护,需要的朋友可以参考下
    2024-11-11
  • 基于python的mysql复制工具详解

    基于python的mysql复制工具详解

    python-mysql-replication 是基于python实现的 MySQL复制协议工具,我们可以用它来解析binlog 获取日志的insert,update,delete等事件 ,并基于此做其他业务需求。这篇文章主要介绍了基于python的mysql复制工具,需要的朋友可以参考下
    2019-06-06
  • MySQL触发器实现两表数据同步的代码详解

    MySQL触发器实现两表数据同步的代码详解

    在数据库应用中,我们经常需要对数据进行某些操作,并在操作完成后进行相应的处理,这时候,可以使用触发器来实现这些功能,MySQL提供了强大的触发器功能,本文将给大家详细介绍MySQL触发器实现两表数据同步,需要的朋友可以参考下
    2023-12-12
  • MySQL可以使用斜线来当字段的名字

    MySQL可以使用斜线来当字段的名字

    无意中发现MySQL可以使用斜线来当字段的名字,下面有个示例,需要的朋友可以参考下
    2014-03-03
  • MySQL 中行转列的方法

    MySQL 中行转列的方法

    这篇文章主要介绍了MySQL 中行转列的方法,帮助大家更好的理解和学习MySQL的使用,感兴趣的朋友可以了解下
    2020-12-12
  • Mysql快速插入千万条数据的实战教程

    Mysql快速插入千万条数据的实战教程

    这篇文章主要给大家介绍了关于Mysql快速插入千万条数据的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • mysql创建Bitmap_Join_Indexes中的约束与索引

    mysql创建Bitmap_Join_Indexes中的约束与索引

    现象:创建Bitmap Join Indexes时出现ORA-25954报错: 维的主键或唯一约束条件缺失。 53vi.Com 原因:受到约束与索引的影响。
    2008-04-04
  • 你一定用的上的MySQL批量插入技巧分享

    你一定用的上的MySQL批量插入技巧分享

    MySQL一直是我们互联网行业比较常用的数据,我们也常常需要使用半ORM框架进行MySQL大批量插入操作,下面小编为大家整理了一些MySQL批量插入技巧,希望对大家有所帮助
    2024-01-01
  • mysql索引使用率监控技巧(值得收藏!)

    mysql索引使用率监控技巧(值得收藏!)

    这篇文章主要给大家介绍了关于mysql索引使用率监控技巧的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用mysql具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • mysql enum字段类型的谨慎使用

    mysql enum字段类型的谨慎使用

    本文主要介绍了mysql enum字段类型使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07

最新评论