重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

mysql怎么差异备份 mysql怎么数据备份

如何实现Mysql数据库的差异性备份和增量备份?

Ø  首先,我们需要开启MySQL服务器的二进制日志功能,其实现方法有很多种,最常用的是在MySQL的配置文件的mysqld项中加入log-bin=[filepath]项;也可以使用mysqld –log-bin=[filepath]重新启动MySQL服务器。

10年积累的网站制作、网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先建设网站后付款的网站建设流程,更有柳河免费网站建设让你可以放心的选择与我们合作。

Ø  其次,使用mysqldump对数据库进行完全备份,它可以实现对数据据的联机,非阻塞的热备份,不会影响其他进程对数据库的读写操作。(参考指令:mysqldump -uroot --password=123 --single-transaction --flush-logs --master-data=2 --all-databases --delete-master-logs d:/mysql5.0/full_%date:~0,10%_1500_PM.sql)

Ø  第三,使用flush logs指令刷新创建新的二进制日志。可以通过mysqladmin flush logs或者flush logs语句实现。最方便有效的方法是将它做成批处理文件,然后让操作系统定期执行。

Ø  使用mysql *.sql进行完全备份的恢复。

Ø  使用mysqlbinlog logs-bin.[0-9]* | mysql进行增量备份的恢复。一般的,假设我们周日下午三点进行了完全备份并生成备份文件full_backup_20100415_3_PM.sql,周一周二中午一点进行了两次增量备份,分别生成增量备份文件inc_backup_1_PM.0007和inc_backup_1_PM.0008,周三上午10:00数据库发生崩溃,需要进行数据库恢复,此时正在记录的二进制日志为inc_backup_1_PM.0009,我们还需要恢复其中记录的操作。具体的恢复操作为:

mysql full_backup_20100415_3_PM.sql

mysqlbinlog inc_backup_1_PM.0007 inc_backup_1_PM.0008 inc_backup_1_PM.0009

u  具体应用(结合T8项目)

根据上述分析,我们在T8项目使用MySQL增量备份,也需要三个步骤:

Ø  首选修改MySQL启动配置文件my.cnf,在其中的mysqld项中增加log-bin选项,重新启动MySQL 服务器以开启二进制日志功能,在生成文件/usr/data/mysql/ t8server-bin.index和t8server-bin..000001。如图所示:

Ø  编写完全备份可执行文件脚本:

Ø  编写增量备份可执行文件脚本:

Ø  执行full_backup_20100417_1_pm,生成/usr/data/mysql/full_backup_20100417_1_pm. sql文件。

Ø  执行inc_backup_1_pm,生成/usr/data/mysql/t8server-bin..000002。

其中full_backup_20100417_1_pm. sql和t8server-bin..000002分别是完全备份和增量备份文件。

要进行备份文件的恢复,只需执行命令:

u  总结

MySQL提供了很方便的完全+增量备份实现方法,我们只需调用系统内置的方法或者作出一些细微的配置就可以对MySQL数据库进行备份和恢复。对于MyISAM数据库和InnoDB数据库,都可以通过mysqldump实现数据库的完全逻辑备份,通过启动二进制日志(binary logs),可以记录一个时间段内对数据库的所有可能更新的操作,从而通过flush logs创建新的日志而实现增量备份。

mysql备份方式有哪些

数据库最直接的备份方法就是使用自带的mysqldump命令进行备份。

1、 mysqldump命令备份数据

在MySQL中提供了命令行导出数据库数据以及文件的一种方便的工具mysqldump,我们可以通过命令行直接实现数据库内容的导出dump,首先我们简单了解一下mysqldump命令用法:

#MySQLdump常用

mysqldump -u root -p --databases 数据库1 数据库2 xxx.sql

2、 mysqldump常用操作实例

2.1备份全部数据库的数据和结构

mysqldump -uroot -p123456 -A /data/mysqlDump/mydb.sql

2.2备份全部数据库的结构(加 -d 参数)

mysqldump -uroot -p123456 -A -d /data/mysqlDump/mydb.sql

2.3 备份全部数据库的数据(加 -t 参数)

mysqldump -uroot -p123456 -A -t /data/mysqlDump/mydb.sql

2.4 备份单个数据库的数据和结构(,数据库名mydb)

mysqldump -uroot-p123456 mydb /data/mysqlDump/mydb.sql

2.5 备份单个数据库的结构

mysqldump -uroot -p123456 mydb -d /data/mysqlDump/mydb.sql

2.6 备份单个数据库的数据

mysqldump -uroot -p123456 mydb -t /data/mysqlDump/mydb.sql2

2.7 备份多个表的数据和结构(数据,结构的单独备份方法与上同)

mysqldump -uroot -p123456 mydb t1 t2 /data/mysqlDump/mydb.sql

2.8 一次备份多个数据库

mysqldump -uroot -p123456 --databases db1 db2 /data/mysqlDump/mydb.sql

mysql全量备份数据导入后有差异怎么办

解决方法添加 -w 参数, 将时间进行转换, 确保两边时区保持一致, 比如原来 start_at 2019-01-16 00:00:00, 更新为 start_at 2019-01-15 16:00:00, 提前8小时

先在数据库更新时区配置为0时区:set time_zone='+00:00';, 备份完成后恢复时区配置: set time_zone='SYSTEM';

linux mysql怎么差异备份

方法:

URL;create table ay(ay1 image)--  

//新建一个名为AY的表 表内存在名为AY1的图象类型的字段

URL;backup database 数据库名 to disk='物理路径' with DIFFERENTIAL--  

//注意,这次备份是要减小数据库的备份量

URL;backup database 数据库名 to disk='物理路径'with DIFFERENTIAL--   

//备份数据库到WEB目录下


本文标题:mysql怎么差异备份 mysql怎么数据备份
本文网址:http://cqcxhl.cn/article/ddddphp.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP