MySQL备份方案–(利用mysqldump以及binlog二进制日志)

随着数据不断增加,而且为了兼容以后的innodb存储引擎, 所以考虑采用mysqldump全备+日志增量备份的策略。使用mysqldump对于mysql

随着数据不断增加,而且为了兼容以后的innodb存储引擎, 所以考虑采用mysqldump全备+日志增量备份的策略。使用mysqldump对于mysql大部分mysql存储引擎比如myisam、innodb都有很好的支持。

方案一:mysqldump全备份+日志增量备份

1, mysqldump备份方案:

周一凌晨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脚本()。

下面是部分shell上单个手动执行的测试命令。

Shell> /usr/local/mysql/bin/mysqldump -uroot-pnYuIman25040slave201012301124 –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 –

-dump-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执行完全备份脚本

0 3 * * 0 /usr/scrpit/mysqlFullBackup.sh>/dev/null 2>&1

#周一到周六凌晨3:00做增量备份

0 3 * * 1-6/root/MySQLBackup/mysqlDailyBackup.sh >/dev/null 2>&1

(5) 清除旧的备份文件。

每天去看查看下备份磁盘空间,删除旧的备份压缩文件。

3, 数据库恢复

 

【注释】如果增量恢复操作中报“ERROR 1051 (42S02) at line 32: Unknown table ‘fin_cell_attr_his’”类似的错误,则需要现create一张空表,然后再执行增量恢复。

Mysql> createtable tb1 ……;

 

(1) 全恢复:

用 mysqldump 备份出来的文件是一个可以直接倒入的 SQL 脚本,直接用 mysql命令恢复最后一次全备份:

先从备份文件服务器上copy出来,解压缩,再恢复,例如:

Shell>/root/s3cmd/s3cmd get s3://csf-backup/mysqldb/ mysql_20101216_231900.sql.tar.gz /usr/mysqlrestore/

Shell>/root/s3cmd/s3cmd get s3://csf-backup/mysqldb/ mysql_binlog_20101217_030100.tar.gz /usr/mysqlrestore/

Shell>cd /usr/mysqlrestore/

Shell>tar -xvf mysql_20101216_231900.sql.tar.gz

Shell>tar -xvf mysql_binlog_20101217_030100.tar.gz

 

刷新日志:

Mysql>flush logs;

恢复最后一次全备份命令:

Shell>/usr/local/mysql/bin/mysql -uroot -p123456 /mysqlbackup/backup_20101215_adb.sql

恢复最后一次全备份之后的所有增量备份命令:

Shell>/usr/local/mysql/bin/mysqlbinlog mysql-bin.00007 mysql-bin.00008mysql-bin.00009 mysql-bin.00010 mysql-bin.00011 | mysql

检查:查看数据库结构以及数据。

 

相关阅读:

Linux下通过mysqldump备份MySQL数据库成sql文件

Linux中使用mysqldump对MySQL数据库进行定时备份

 

本文的更多详情请继续阅读第2页的精彩内容:

linux

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/548627.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
微信 NLP 算法微服务治理
上一篇 2025年11月9日 19:02:19
java里面list怎么排序
下一篇 2025年11月9日 19:02:23

相关推荐

  • Sublime开发MySQL备份与恢复脚本方案_实现定时导出与自动导入机制

    Sublime开发MySQL备份与恢复脚本方案_实现定时导出与自动导入机制Sublime开发MySQL备份与恢复脚本方案_实现定时导出与自动导入机制Sublime开发MySQL备份与恢复脚本方案_实现定时导出与自动导入机制Sublime开发MySQL备份与恢复脚本方案_实现定时导出与自动导入机制

    使用sublime编写mysql备份与恢复脚本能提升数据安全性与操作效率;1.通过shell或python调用mysqldump实现自动备份,建议加入时间戳、压缩存储及权限设置;2.结合cron配置定时任务实现自动化,注意使用绝对路径并添加日志记录;3.编写恢复脚本导入sql文件,需确保数据库结构一…

    2026年9月22日 用户投稿
    100
  • MySQL备份压缩与加密技巧_MySQL提升备份安全与效率

    MySQL备份压缩与加密技巧_MySQL提升备份安全与效率MySQL备份压缩与加密技巧_MySQL提升备份安全与效率MySQL备份压缩与加密技巧_MySQL提升备份安全与效率MySQL备份压缩与加密技巧_MySQL提升备份安全与效率

    mysql备份压缩与加密的核心在于减少存储空间并提升数据安全性。1. 压缩能显著降低存储成本,提升传输效率,加快恢复速度,简化备份管理,并有助于满足合规要求;2. 加密则通过防止未授权访问保障数据安全。实现方式主要有:1. 使用mysqldump结合gzip和gpg/openssl进行逻辑备份、压缩…

    2026年9月22日 用户投稿
    200
  • MySQL备份数据恢复演练_MySQL数据恢复流程与实战

    MySQL备份数据恢复演练_MySQL数据恢复流程与实战MySQL备份数据恢复演练_MySQL数据恢复流程与实战MySQL备份数据恢复演练_MySQL数据恢复流程与实战MySQL备份数据恢复演练_MySQL数据恢复流程与实战

    mysql备份数据恢复演练是为了验证备份有效性并提升dba恢复能力的必要措施。其核心流程包括:1.准备与生产环境相似的演练环境并明确恢复目标;2.检查备份策略并准备所需全量与增量备份文件;3.模拟数据丢失场景并记录故障时间;4.停止mysql服务、清理数据目录后从全量备份恢复;5.依次应用增量备份并…

    2026年9月22日 用户投稿
    100
  • MySQL数据备份自动化实施_MySQL定时任务与脚本管理

    MySQL数据备份自动化实施_MySQL定时任务与脚本管理MySQL数据备份自动化实施_MySQL定时任务与脚本管理MySQL数据备份自动化实施_MySQL定时任务与脚本管理MySQL数据备份自动化实施_MySQL定时任务与脚本管理

    mysql数据备份的自动化实施核心在于结合mysqldump等工具与操作系统的定时任务(如linux的cron或windows的task scheduler),通过编写和管理脚本实现定期执行备份。1. 使用mysqldump作为基础工具,编写包含数据库连接信息、时间戳文件名、日志记录、压缩清理等功能…

    2026年9月21日 用户投稿
    200
  • MySQL备份数据加密技术_MySQL保障备份数据安全的策略

    MySQL备份数据加密技术_MySQL保障备份数据安全的策略MySQL备份数据加密技术_MySQL保障备份数据安全的策略MySQL备份数据加密技术_MySQL保障备份数据安全的策略MySQL备份数据加密技术_MySQL保障备份数据安全的策略

    加密是保障mysql备份数据安全的核心,但还需结合多层次防护体系。1.静态数据加密可通过文件系统层(如luks、bitlocker)或数据库内部(tde)实现;2.备份文件应独立加密(如gpg、openssl);3.传输中需使用scp、https等加密通道;4.密钥管理至关重要,需单独妥善处理。备份…

    2026年9月20日 用户投稿
    000
  • 如何在mysql中验证备份文件完整性

    验证MySQL备份文件完整性需确认数据可恢复且未损坏。1. 恢复到测试库后用mysqlcheck检查表是否OK;2. 检查SQL文件头是否有CREATE TABLE和INSERT语句,并用grep排查error或warning;3. 备份前后对关键表执行CHECKSUM TABLE比对值一致性;4.…

    2026年9月8日
    100
  • MySQL备份与还原脚本流程_Sublime中执行导出导入命令行自动化

    MySQL备份与还原脚本流程_Sublime中执行导出导入命令行自动化MySQL备份与还原脚本流程_Sublime中执行导出导入命令行自动化MySQL备份与还原脚本流程_Sublime中执行导出导入命令行自动化MySQL备份与还原脚本流程_Sublime中执行导出导入命令行自动化

    通过编写shell脚本并配置sublime text的build system,可实现mysql备份与还原的一键自动化操作。具体步骤为:1. 创建backup_mysql.sh和restore_mysql.sh脚本,分别用于数据库备份和还原,并配置相关参数及路径;2. 在sublime中新建buil…

    2026年9月8日 用户投稿
    100
  • 如何在mysql中恢复mysqldump备份文件

    恢复MySQL备份需确保文件有效、字符编码一致及权限正确。首先检查备份文件是否含CREATE DATABASE、USE等语句,确认其为标准mysqldump输出。若无创建数据库语句或需指定库名,应手动创建目标数据库:登录MySQL后执行CREATE DATABASE IF NOT EXISTS ta…

    2026年9月8日
    000
  • MySQL备份数据完整性校验_MySQL备份验证技术介绍

    MySQL备份数据完整性校验_MySQL备份验证技术介绍MySQL备份数据完整性校验_MySQL备份验证技术介绍MySQL备份数据完整性校验_MySQL备份验证技术介绍MySQL备份数据完整性校验_MySQL备份验证技术介绍

    验证mysql备份数据完整性需根据数据量和恢复要求选择方法。数据量小可直接测试恢复,数据量大则用checksum校验或数据比对;逻辑备份侧重内容验证,物理备份关注文件系统完整;常用方法包括1.恢复测试,2.mysqlcheck检查表健康,3.checksum校验一致性,4.pt-table-sync…

    2026年9月8日 用户投稿
    100
  • MySQL自动化运维脚本编写_定时备份、数据清理与监控实战

    MySQL自动化运维脚本编写_定时备份、数据清理与监控实战MySQL自动化运维脚本编写_定时备份、数据清理与监控实战MySQL自动化运维脚本编写_定时备份、数据清理与监控实战MySQL自动化运维脚本编写_定时备份、数据清理与监控实战

    mysql自动化运维可通过编写shell脚本结合cron定时任务实现,主要包括数据备份、数据清理和状态监控三大模块。1. 数据备份使用mysqldump进行逻辑备份,并添加事务一致性与binlog位置记录,压缩存储并按策略清理旧备份,失败时触发通知;2. 数据清理通过定期删除过期业务数据及binlo…

    2026年9月7日 用户投稿
    200
  • MySQL备份存储介质选择_MySQL备份数据的安全存储方法

    MySQL备份存储介质选择_MySQL备份数据的安全存储方法MySQL备份存储介质选择_MySQL备份数据的安全存储方法MySQL备份存储介质选择_MySQL备份数据的安全存储方法MySQL备份存储介质选择_MySQL备份数据的安全存储方法

    mysql备份存储介质的选择应优先考虑数据安全性、恢复速度与成本的平衡,通常采用本地高速存储+异地云存储+磁带归档的多层次策略。1. 本地磁盘/nas-san适用于快速恢复,需配置raid和访问控制;2. 云存储(如aws s3)提供高可用、异地容灾和安全加密,适合长期备份;3. 磁带库用于低成本离…

    2026年8月28日 用户投稿
    100
  • PHP命令怎么执行数据库备份_PHP命令行MySQL备份与恢复

    使用PHP通过exec等函数调用mysqldump和mysql命令实现数据库备份恢复,需注意密码安全、文件权限及路径正确性,并可结合cron与gzip实现自动压缩备份。 在PHP项目中,直接通过命令行执行MySQL数据库的备份与恢复是一种高效且常用的方式。虽然PHP本身不提供数据库备份功能,但可以通…

    2025年12月12日
    100
  • php如何实现数据备份?php自动备份mysql的脚本

    在php项目中实现mysql数据库自动备份需先确认环境和权限,再通过mysqldump导出数据,接着设置定时任务,最后清理旧备份。1. 确认服务器安装php和mysql,并确保php有执行shell命令权限;2. 使用mysqldump命令导出数据库,通过php拼接命令并执行,建议使用.my.cnf…

    2025年12月10日
    000
  • 如何在mysql中定期清理过期备份文件

    如何在mysql中定期清理过期备份文件如何在mysql中定期清理过期备份文件如何在mysql中定期清理过期备份文件如何在mysql中定期清理过期备份文件

    通过Shell脚本结合cron定时任务实现MySQL过期备份文件自动清理,首先统一备份命名格式(如backup_20250405.sql)并存放在指定目录(/data/backup/mysql),然后编写脚本使用find命令删除7天前的.sql文件,配置每日凌晨2点执行的cron任务,并加入日志记录…

    2025年12月6日 用户投稿
    200
  • mysql如何备份存储过程和函数

    mysql如何备份存储过程和函数mysql如何备份存储过程和函数mysql如何备份存储过程和函数mysql如何备份存储过程和函数

    最直接且推荐的方式是使用mysqldump工具并添加–routines参数,可完整导出存储过程和函数;若需跨版本迁移,应结合–triggers、处理DEFINER用户、验证SQL_MODE,并在测试环境充分验证恢复与兼容性。 MySQL备份存储过程和函数,最直接且推荐的方式是…

    2025年12月6日 用户投稿
    200
  • MySQL如何设置自动备份 MySQL定时自动备份的配置与恢复测试

    mysql自动备份的配置与恢复测试方案是通过linux的crontab结合mysqldump命令实现定时备份,具体步骤如下:1. 编写备份脚本backup_mysql.sh,设置数据库连接信息、备份路径,并使用mysqldump配合gzip压缩导出数据,同时用find命令删除7天前的旧备份;2. 为…

    2025年12月2日
    000
  • MySQL开源备份工具Xtrabackup备份部署

    Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好   xtrabackup是一个对innodb做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具innodb hotback…

    用户投稿 2025年12月2日
    000
  • Mydumper:MySQL多线程逻辑备份与恢复

    Mydumper:MySQL多线程逻辑备份与恢复Mydumper:MySQL多线程逻辑备份与恢复Mydumper:MySQL多线程逻辑备份与恢复Mydumper:MySQL多线程逻辑备份与恢复

    MySQL多线程逻辑备份 Mydumper简介 mydumper是一个多线程的mysql逻辑备份工具. 逻辑备份速度非常快(跟mysqldump相比) myisam MySQL多线程逻辑备份 Mydumper简介 mydumper是一个多线程的mysql逻辑备份工具. Mydumper安装# yum…

    2025年12月2日 用户投稿
    200
  • MySQL数据库备份之复制

    MySQL数据库备份之复制目录:1.MySQL复制简介2.MySQL复制的优势与思路3.数据复制环境之主服务器设置4.数据复制环境之从服务器设置5.创建复制帐号6.获取主服务器二 3.数据复制环境之主服务器设置 在实际的生产环境中,可能在我们还没有部署数据复制前,数据库中就已经存在大量数据,所以,这…

    2025年12月2日
    000
  • 企业之Mysql备份恢复

    为什么要备份:备份的几个重要理由:灾难恢复、需求改变、审计、测试等;如测试定期用最新的生产环境中的数据更新到测试环境服务器需要考虑的问题:1、在不导致严 7、对于安全性要考虑周全,如果有人能接触到生产服务器,他是否能访问备份服务器 使用Mysqldump备份工具实现完全备份,并结合二进制日志实现增量…

    2025年12月2日
    000

发表回复

登录后才能评论
关注微信