分享一篇mysql数据库备份脚本

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 分享一篇mysql数据库备份脚本

#!/bin/bash

####################################

tool=mysqldump

username="root" #数据库账号

password="123456"#数据库密码

port="3306"#数据库端口

#是否采用--all-databases备份所有数据库,是填写Y,否填其他

bak_all=Y  

#将要备份的数据库,填写将要备份的数据库名,和上个参数二选一

database_arr=('mysql' 'ceshi')

time=`date +%Y%m%d%H%M%S`

mkdir -p {/data/script,/data/backup/mysql}

backup_dir="$BASE_DIR/$(date +'%Y%m%d')"

log_file="/data/script/info.log"

days=7 #备份数据保留时间

if [ ! -d $backup_dir/mysqlbak_$time ];

then    

   mkdir -p $backup_dir/mysqlbak_$time;

fi

if [ $bak_all == "Y" ];

then

$tool -u$username -p$password -P$port --master-data \

--quick \

--max-allowed-packet=100M \

--extended-insert \

--set-gtid-purged=OFF \

--default-character-set=utf8 \

--single-transaction \

-all-databases \

|gzip \

> $backup_dir/mysqlbak_$time/mysqlbak_all_$time.sql.gz;

else

i=0

while [ $i -lt "${#database_arr[*]}" ]

do

database=${database_arr[$i]}

$tool -u$username -p$password -P$port --master-data  \

--quick \

--max-allowed-packet=100M \

--extended-insert \

--set-gtid-purged=OFF \

--default-character-set=utf8 \

--single-transaction \

-all-databases \

$database \

|gzip \

>$backup_dir/mysqlbak_$time/mysqlbak_${database}_${time}.sql.gz;

let i+=1

done

fi

#删除7天前的备份

find $backup_dir -maxdepth 1 -type d -mtime +$days -name 'mysqlbak*' -exec rm -rf {} \;

####################################


文章标红处可按自己实际情况进行替换。

相关文章
|
1天前
|
关系型数据库 MySQL 数据库
Navicat备份数据库
涵盖`Navicat`数据库备份、数据安全及备份策略等主题。文库采用精美主题,提升阅读体验。
6 1
Navicat备份数据库
|
4天前
|
SQL 数据库 数据安全/隐私保护
如何手动备份数据库?
如何手动备份数据库?
25 1
|
23天前
|
SQL 数据可视化 关系型数据库
成功解决7版本的数据库导入 8版本数据库脚本报错问题
您提供的链接是一篇关于如何解决在MySQL数据库中导入脚本时出现版本兼容性问题的博客文章。文章中提到,如果在MySQL 5.7之前的版本中使用utf8mb4_0900_ai_ci排序规则,会遇到"Unknown collation"错误。解决办法包括升级MySQL版本到8.0或更高,或者更改排序规则为utf8mb4_general_ci或utf8mb4_unicode_ci,并提供了修改SQL脚本的示例。 如果您需要更详细的信息或有其他问题,请告诉我。
|
21天前
|
SQL 数据库
Microsoft SQL Server 2014如何来备份数据库
Microsoft SQL Server 2014如何来备份数据库
25 3
|
21天前
|
存储 关系型数据库 MySQL
实战!MySQL主从复制一键搭建脚本分享
实战!MySQL主从复制一键搭建脚本分享
27 2
|
21天前
|
关系型数据库 MySQL Shell
MySQL数据库一键安装脚本,适合任何版本
MySQL数据库一键安装脚本,适合任何版本
29 2
|
21天前
|
关系型数据库 MySQL 网络安全
全网首例!MySQL8 MGR多主一键搭建脚本分享
全网首例!MySQL8 MGR多主一键搭建脚本分享
20 1
|
24天前
|
SQL 关系型数据库 MySQL
在Linux中,如何备份和恢复MySQL数据库?
在Linux中,如何备份和恢复MySQL数据库?
|
22天前
|
缓存 关系型数据库 MySQL
分享一个实用的MySQL一键巡检脚本
分享一个实用的MySQL一键巡检脚本
17 0
|
22天前
|
Oracle 关系型数据库 数据库
Oracle数据库备份脚本分享-Python
Oracle数据库备份脚本分享-Python
22 0