保证文件的完整性复制,备份MySQL的原始数据文件副本副本服务器应该发生而关闭。如果MySQL服务器仍在运行,后台任务可能仍在更新数据库文件,特别是那些涉及存储引擎等后台进程InnoDB
。与InnoDB
崩溃恢复期间,这些问题应该被解决,但由于副本服务器可以在备份过程中关闭不影响源的执行是有意义的利用这一能力。
关闭服务器和备份文件:
关闭复制MySQL服务器:
壳> mysqladmin关闭
复制数据文件。您可以使用任何合适的复制或档案效用,包括cp,焦油或WinZip。例如,假设数据目录位于当前目录下,您可以存档整个目录如下:
壳> tar cf / tmp / dbbackup。焦油。/数据
再次启动MySQL服务器。在Unix下:
壳> mysqld_safe &
Windows下:
C: \ >“C: \ Program Files \ MySQL \ 8.0 \ bin \ mysqld MySQL服务器”
通常你应该备份整个副本MySQL服务器数据目录。如果您希望能够恢复数据和操作作为一个副本(例如,在副本的失败的事件),除了数据,你需要副本的连接元数据存储库和灌肠器的元数据存储库,和中继日志文件。这些项目需要的简历复制在你恢复副本的数据。假设表已经使用了副本的连接元数据存储库和灌肠器的元数据存储库(见5.4节,“中继日志和复制元数据存储库”),这是默认在MySQL 8.0中,这些表备份以及数据目录。如果文件用于存储库,弃用,你必须单独支持这些。火炬传递日志文件必须单独备份,如果他们被放置在不同的位置的数据目录。
如果你失去了但仍然有传递日志relay-log.info
文件,您可以检查它来确定多远SQL复制线程中执行的二进制日志来源。然后您可以使用改变复制源
(从MySQL 8.0.23)或声明改变主
声明(MySQL 8.0.23之前)SOURCE_LOG_FILE
|MASTER_LOG_FILE
和SOURCE_LOG_POS
|MASTER_LOG_POS
选项告诉重读二进制日志的副本。这就要求二进制日志源服务器上仍然存在。
如果你的副本复制加载数据
语句,你也应该支持任何SQL_LOAD - *
文件中存在的目录复制使用。复制这些文件需要的简历复制任何中断加载数据
操作。这个目录的位置的值slave_load_tmpdir
系统变量。如果服务器没有启动的变量集,目录位置的值tmpdir
系统变量。