CREATE TABLE `backupinfo` (
`idback` int(10) unsigned NOT NULL AUTO_INCREMENT,
`start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`end_time` datetime DEFAULT NULL,
`size` bigint(20) unsigned DEFAULT NULL,
`type` enum('TEXT','RAW') DEFAULT NULL,
PRIMARY KEY (`idback`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;
1 row in set (0.00 sec)
创建一个这样表结构的表用来记录备份的时间的起止时间,以及备份的type,备份文件的大小等等相关的备份信息.
#!/bin/bash
bkDate=`date +%d%m%Y` #记录备份时间
bkFolder="/usr/local/mysql/$bkDate/" #选择你备份的存放点,注意你要有在这个目录下写的权限.
mkdir $bkFolder #C创建备份目录
cp /etc/my.cnf $bkFolder #备份你的配置文件
#Flushing the logs and capturing the backup start time.
#Capturing backup time is just for information.
#Since this is a textual backup i am storing the backup type as text.
#ToDO: Need to copy the relavent binary logs.
mysql -p -u root -e "FLUSH LOGS;INSERT INTO mysql.backupinfo ( type ) VALUES ( 'TEXT' );" # -u你的备份用户名,-p你的密码
#Taking backup of all databases other that mysql and information_schema.
for db in `mysql --skip-column-names -u backup -pBackUp@123 -s -e "SELECT schema_name FROM information_schema.SCHEMATA WHERE schema_name NOT IN ( 'mysql','information_schema')"`
do
mkdir $bkFolder$db; #Creating a new directory for each database.
mysqldump -d --triggers -u backup -R -E -pBackUp@123 -q --databases $db | gzip > $bkFolder$db/$db.sql.gz #I am using gzip to compress the backup.
done
#Finally I am storing the end time and size of the backup.
mysql -u backup -pBackUp@123 -e "UPDATE mysql.backupinfo SET end_time = NOW(), size = TRIM(REPLACE(REPLACE('`du -s`',' ',''),'.','')) WHERE type = 'TEXT' AND DATE(start_time) = DATE(NOW())"
备份的脚本有很多,只是给你再众多之中给你一份更多的选择而已!
转:http://blogold.chinaunix.net/u3/116431/showart_2482944.html
分享到:
相关推荐
Linux下自动备份Mysql文件shell脚本。
本文将详细解析“mysql备份脚本.rar”压缩包中的内容,包括在Windows和Linux操作系统中如何利用脚本来进行MySQL数据库的备份。 1. **MySQL备份的重要性** 数据库备份是为了防止意外数据丢失,如硬件故障、软件错误...
通过理解和定制这个“mysql自动实现备份脚本”,你可以建立一个稳定且可靠的MySQL数据库备份系统,确保在面对各种风险时,你的数据始终得到妥善保护。同时,定期检查和更新备份策略以适应业务变化是非常必要的。
### MySQL备份脚本知识点解析 #### 一、脚本概述 该脚本主要实现了MySQL数据库的备份功能,并根据当前日期创建对应的备份文件夹与备份文件,同时对备份文件进行了压缩处理。此脚本适用于Windows环境。 #### 二、...
通过以上步骤,你可以创建并运行一个有效的 MySQL 数据备份脚本,确保业务数据的安全。不过,实际操作中可能需要根据具体环境进行调整,例如添加额外的选项来优化备份性能或设置更复杂的备份策略。在维护数据库时,...
根据给定的文件信息,我们可以总结出以下关于MySQL备份脚本的重要知识点: ### MySQL备份脚本概述 在IT行业中,数据安全是至关重要的,而数据备份则是保障数据安全的关键环节之一。MySQL作为广泛使用的数据库管理...
1.备份MySQL到指定的目录。 2.支持压缩备份。无需安装压缩软件支持CAB压缩备份。或者安装RAR软件,支持RAR压缩备份。 3.支持备份日志。可以了解哪些数据库没有备份成功。 4.支持保留多少次备份。也就是删除多少次...
"Windows下MySql自动备份脚本(有备份日志,且可以删除历史备份)"的资源提供了一个解决方案,它是一个批处理脚本(MysqlAutoBackup.bat),能够自动化执行MySQL的备份过程,同时生成备份日志并清理历史备份。...
今天这个备份分二个版本一个是linux上直接安装的mysql,另一种是docker上安装的mysql。基本操作都一样只是备份sql语句不同而已。可以选择设置需要备份的库,自动备份压缩,自动删除 7 天前的备份,需要使用 crontab ...
Linux 下 Mysql 备份脚本 使用 mysqldump 命令 备份数据库 单/多库备份 自定义 mysqldump 其他参数 -h -d ..... 删除超过一定时间的备份
本文将详细介绍一个适用于Linux平台下的MySQL自动备份脚本。通过该脚本,可以实现MySQL数据库的定时备份,并按照一定规则管理备份文件,确保数据安全的同时减少磁盘空间占用。 #### 二、备份脚本结构分析 ##### ...
mysql完整备份和增量备份脚本,本文档采用mysqldump 对数据库进行备份,mysqldump 是采用SQL级别的备份机制,它将数据表导成 SQL脚本文件,在不同的 MySQL 版本之间升级时相对比较合适,这也是最常用的备份方法,...
这将在每天的0点(即凌晨12点)执行备份脚本。 **安全注意事项**: - 避免在脚本中直接写入用户名和密码,可以使用环境变量或密钥链来存储敏感信息。 - 定期清理旧的备份,避免占用过多磁盘空间。 - 确保备份文件的...
此批处理,是为一位朋友写的在Windows下自动备份Mysql数据库,今天共享出来,加强了一些功能。和改进了获取数据库列表的方式。 此批处理脚本的功能: 在配置正确的情况下,如果直接运行脚本,将备份指定MySQL数据库...
Linux下mysql的增量与完全备份脚本
另外,为了防止系统设置不当引起的问题,可以对备份脚本进行错误检测和日志记录,以便于问题排查。 总之,MySQL自动备份shell脚本是保障网站数据安全的重要工具。通过合理配置和维护,你可以确保在面临数据丢失风险...
mysql数据库自动备份脚本,修改 用户名 密码 IP 存储位置等信息即可使用
docker环境下的mysql数据库自动备份脚本,配置到系统定时任务中,能够每天自动全库或者指定实例备份数据库,删除七天前的旧备份。
MySQL备份脚本是数据库管理中不可或缺的一部分,它用于定期或按需保存数据库的状态,以便在数据丢失或系统故障时能够恢复。以下将详细介绍MySQL备份脚本的原理、常见方法以及如何编写和使用这些脚本。 MySQL数据库...