Skip to main content

2.数据库备份方法

使用 mysqldump 进行备份

mysqldump 程序可以进行备份。它可以备份各种表。

对于 InnoDB表,可以使用 mysqldump--single-transaction选项 执行不锁定表的在线备份。

通过复制表文件进行备份

可以通过复制表文件(*.MYD*.MYI文件和 关联 *.sdi 文件) 来备份 MyISAM 表。

如果要获得一致的备份,请停止服务器或锁定并刷新相关表:

FLUSH TABLES tbl_list WITH READ LOCK;

通过启用二进制日志进行增量备份

MySQL支持使用二进制日志进行增量备份。二进制日志文件提供复制执行备份之后对数据库所做的更改所需的信息。因此,为了让服务器恢复到某个时间点,必须在其上启用二进制日志记录,这是 MySQL 8.3 的默认设置;

想要进行增量备份(包含自上次完整备份或增量备份以来发生的所有更改)时,应该使用 FLUSH LOGS. 完成此操作后,需要将所有二进制日志复制到备份位置,这些二进制日志的范围从最后一次完整或增量备份的时刻之一到最后一个备份。这些二进制日志就是增量备份;下次进行完整备份时,还应该使用 mysqldump --flush-logs 轮换 FLUSH LOGS二进制日志。

使用副本进行备份

如果在进行备份时服务器出现性能问题,一种有用的策略是设置复制并在副本而不是源上执行备份。