mysql备份与恢复脚本
mysql备份用自带的备份工具mysqlmp
每天自动执行用cron工具,把mysql的备份命令放在.sh文件里面
.sh文件放在/etc/cron.daily目录,就会每天自动执行了。
‘贰’ Mysql备份恢复方案有哪些,全备,热备该怎么做
方案一:mysqlmp全备份+日志增量备份
1, mysqlmp备份方案:
周一凌晨3点 全备
周二到周日凌晨3点增量备份
2, 备镇键份步骤
(1) 创建备份目录,备份脚本存放目录
Shell > mkdir /usr/mysqlbackup;
Shell > chmod 755 /usr/mysqlbackup;
Shell > mkdir /usr/mysqlbackup/daily;
Shell > chmod 755 /usr/mysqlbackup/daily;
Shell > mkdir /usr/script;
Shell > chmod 777 /usr/script/*.sh
(2) 启用二进制日志
如果日志没有启开,必须启用binlog,要重启mysqld,首姿缺先,关闭mysqld,打开/etc/my.cnf,加入以下几行:
[mysqld]
log-bin
然后重新启动mysqld,会产生hostname-bin.000001以及hostname-bin.index,前面的日志文件是记录所有对数据的更新操作,后面的文件是存储所有二进制文件的索引,不能轻易被删除。
(3) 全备份,增量备份。
详细见mysqlFullBackup.sh、mysqlDailyBackup.sh脚本(请注意脚本里面的备份目录、mysql软件安装目录、压缩文件名以及用户名密码,如有不符,请修改)。
下面是部分shell上单个手动执行的测试命令。
Shell> /usr/local/mysql/bin/mysqlmp -uroot - --no-create-info=FALSE --order-by-primary=FALSE --force=FALSE --no-data=FALSE --tz-utc=TRUE --flush-privileg
es=FALSE --compress=FALSE --replace=FALSE --insert-ignore=FALSE --extended-insert=TRUE --quote-names=TRUE --hex-blob=TRUE --complete-insert=FALSE --add-locks=TRUE --port=3306 --d
isable-keys=TRUE --delayed-insert=FALSE --create-options=TRUE --delete-master-logs=FALSE --comments=TRUE --default-character-set=utf8 --max_allowed_packet=1G --flush-logs=FALSE -
-mp-date=TRUE --lock-tables=TRUE --allow-keywords=FALSE --events=FALSE --single-transaction=TRUE --routines --all-databases > /backup/mysql/full/mysql_20110104_195546.sql
(4) 设置crontab任务,每天执行迹旅辩备份脚本
shell> crontab –e
#每个星期日凌晨3:00执行完全备份脚本
#周一到周六凌晨3:00做增量备份
0 3 * * 1-6 /root/MySQLBackup/mysqlDailyBackup.sh >/dev/null 2>&1
(5) 清除旧的备份文件。
每天去看查看下备份磁盘空间,删除旧的备份压缩文件。
‘叁’ mysqlmp详解
在数据库管理中,备份是确保数据安全的重要手段。主要备份方式分为逻辑备份与物理备份。其中,使用mysqlmp将数据以SQL形式保存是常见且高效的方式。本文将深度探讨mysqlmp的使用,工作原理,以及它对InnoDB和MyISAM两种不同数据库引擎数据备份的一致性实现。
mysqlmp简介:它是一种强大的备份工具,用于生成SQL脚本,将数据库表结构和数据备份为文件,便于迁移和恢复。
备份的命令:mysqlmp命令的格式为mysqlmp -u用户名 -p密码 数据库名 [表名] > 备份文件名.sql,通过选项参数可以实现多种备份需求。
还原的命令:还原时可使用系统行命令,例如:mysql -u用户名 -p密码 数据库名 < 备份文件名.sql 或者使用source方式,如:source 备份文件名.sql。
mysqlmp工作原理:备份时,mysqlmp首先获取数据库引擎的状态信息,执行SQL查询生成备份SQL脚本,然后将SQL脚本写入到指定的备份文件中。
备份流程:启动mysqlmp服务,执行备份命令,mysqlmp获取数据库状态,执行SQL查询,生成SQL脚本,写入备份文件。
InnoDB和MyISAM备份差异:对于支持事务的InnoDB引擎,备份时需加参数 –single-transaction 来确保数据一致性。而MyISAM引擎不支持事务,备份时通常需要锁表操作来保证数据一致性。
在数据库管理中,正确的备份策略对于数据安全至关重要。掌握mysqlmp的使用技巧,了解其工作原理及与不同数据库引擎的兼容性,能够帮助用户在数据迁移与恢复过程中更加得心应手。