Ubuntu Server下MySql数据库备份脚本

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

说明: 我这里要把MySql数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysqldata_bak_2012_04_11.tar.gz的压缩文件格式(2012_04_11是指备份执行时当天的日期), 最后只保留最近7天的备份。

实现步骤:

1、创建保存备份文件的目录:/home/mysql_data cd /home #进入目录 mkdir mysql_data #创建目录

2、创建备份脚本文件:/home/mysql_data/mysql_databak.sh cd /home/mysql_data #进入目录 touch mysql_databak.sh #创建文件 nano mysql_databak.sh #编辑文件,输入以下内容 ####################################################################################################### #!/bin/sh DUMP=/usr/bin/mysqldump #mysqldump

备份程序执行路径 OUT_DIR=/home/mysql_data

#备份文件存放路径 LINUX_USER=root

#系统用户名 DB_NAME=pw85

#要备份的数据库名字 DB_USER=root

#数据库账号

注意:非root用户要用备份参数 --skip-lock-tables,否则可能会报错 DB_PASS=123456 #数据库密码 DAYS=7 #DAYS=7代表删除7天前的备份,即只保留最近7天的备份 cd $OUT_DIR #进入备份存放目录 DATE=`date +%Y_%m_%d` #获取当前系统时间 OUT_SQL="$DATE.sql" #备份数据库的文件名 TAR_SQL="mysqldata_bak_$DATE.tar.gz" #最终保存的数据库备份文件名 $DUMP -u$DB_USER -p$DB_PASS $DB_NAME --default-character-set=utf8 --opt -Q -R --skip-lock-tables> $OUT_SQL #备份 tar -czf $TAR_SQL ./$OUT_SQL #压缩为.tar.gz格式 rm $OUT_SQL #删除.sql格式的备份文件 chown $LINUX_USER:$LINUX_USER $OUT_DIR/$TAR_SQL #更改备份数据库文件的所有者 find $OUT_DIR -name "mysqldata_bak*" -type f -mtime +$DAYS -exec rm {} \; #删除7天前的备份文件(注意:{} \;中间有空格) ####################################################################################################### ctrl+o #保存配置 ctrl+x #退出 系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接 3、修改文件属性,使其可执行 chmod +x /home/mysql_data/mysql_databak.sh 4、修改/etc/crontab nano /etc/crontab #编辑文件,在下面添加 45 22 * * * root /home/mysql_data/mysql_databak.sh #表示每天22点45分执行备份 ctrl+o #保存配置 ctrl+x #退出 5、重新启动crond使设置生效 service cron stop #停止 service cron start #启动 /etc/init.d/cron restart #重启 chkconfig cron on #设为开机启动 系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接 每天你在/home/mysql_data目录下面可以看到类似mysqldata_bak_2012_04_11.tar.gz这样的压缩文件 如果需要恢复文件的时候,只需要把这个文件解压:tar -zxvf mysqldata_bak_2012_04_11.tar.gz 然后导入到数据库中即可。 至此,Ubuntu Server下MySql数据库备份脚本完成。


本文转自    geekwolf   51CTO博客,原文链接:http://blog.51cto.com/linuxgeek/998943

相关文章
|
12天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
51 10
|
1月前
|
SQL 数据库 数据安全/隐私保护
Sql Server数据库Sa密码如何修改
Sql Server数据库Sa密码如何修改
|
1月前
|
Ubuntu 关系型数据库 MySQL
使用Ubuntu和Windows电脑实现Mysql主从同步(详细操作步骤)
使用Ubuntu和Windows电脑实现Mysql主从同步(详细操作步骤)
28 2
|
1月前
|
Ubuntu 关系型数据库 MySQL
【MySQL】Navicat/SQLyog连接Ubuntu中的数据库(MySQL)
【MySQL】Navicat/SQLyog连接Ubuntu中的数据库(MySQL)
|
12天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
74 6
|
28天前
|
Ubuntu 关系型数据库 MySQL
Ubuntu 中apt 安装MySQL数据库
Ubuntu 中apt 安装MySQL数据库
68 0
|
7天前
|
关系型数据库 MySQL Linux
Linux联网安装MySQL Server
Linux联网安装MySQL Server
20 0
|
12天前
|
SQL 存储 数据挖掘
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
服务器数据恢复环境: 一台安装windows server操作系统的服务器。一组由8块硬盘组建的RAID5,划分LUN供这台服务器使用。 在windows服务器内装有SqlServer数据库。存储空间LUN划分了两个逻辑分区。 服务器故障&初检: 由于未知原因,Sql Server数据库文件丢失,丢失数据涉及到3个库,表的数量有3000左右。数据库文件丢失原因还没有查清楚,也不能确定数据存储位置。 数据库文件丢失后服务器仍处于开机状态,所幸没有大量数据写入。 将raid5中所有磁盘编号后取出,经过硬件工程师检测,没有发现明显的硬件故障。以只读方式将所有磁盘进行扇区级的全盘镜像,镜像完成后将所
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
|
14天前
|
SQL 存储 关系型数据库
mysql数据库备份与恢复
mysql数据库备份与恢复
|
1月前
|
SQL 编解码 数据库
MyKtv点歌系统前台主要功能实现,内附数据库脚本,可以直接运行
MyKtv点歌系统前台主要功能实现,内附数据库脚本,可以直接运行
13 1
MyKtv点歌系统前台主要功能实现,内附数据库脚本,可以直接运行