3.1.1使用mysqldump备份副本

使用,mysqldump创建一个数据库的副本允许您捕获数据库中所有的数据的格式,使得信息导入到另一个实例的MySQL服务器(见,mysqldump——一个数据库备份程序)。因为信息是SQL语句的格式,文件可以很容易地分发和应用服务器运行时,在紧急情况下你需要访问数据。然而,如果您的数据集的大小是非常大的,,mysqldump可能是不切实际的。

提示

考虑使用MySQL壳转储工具为倾销提供多个线程,文件压缩、信息显示和进展,以及云计算特性,比如甲骨文云基础设施对象存储流媒体,和MySQL数据库服务兼容性检查和修改。转储文件可以很容易地导入到一个MySQL服务器实例或数据库系统使用MySQL数据库服务MySQL壳负载转储工具。安装说明MySQL Shell可以找到在这里

当使用,mysqldump开始前,你应该停止复制副本转储过程以确保转储包含一组一致的数据:

  1. 停止处理请求的副本。你可以停止复制完全复制使用mysqladmin:

    壳> mysqladmin stop-slave

    或者,你可以停止只复制SQL执行线程暂停事件:

    壳> mysql - e停止奴隶SQL_THREAD;或从mysql 8.0.22:壳> mysql - e '停止SQL_THREAD复制品;

    这使复制品继续接收数据更改事件从源的二进制日志并将它们存储在继电器使用复制日志接收线程,但阻止副本执行这些事件和改变其数据。在繁忙的复制环境中,允许复制接收线程运行备份可能会加速追赶过程中当你重新启动复制灌肠器线程。

  2. 运行,mysqldump将你的数据库。你可以把所有数据库或者选择数据库倾倒。例如,将所有数据库:

    壳>,mysqldump——所有数据库> fulldb.dump
  3. 转储完成后,再次启动复制:

    壳> mysqladmin start-slave

在前面的示例中,您可能希望添加登录凭据(用户名、密码)命令,并包成一个脚本,您可以每天自动运行。

如果您使用这种方法,确保监控复制过程运行备份,确保时间不会影响副本的能力跟上事件从源。看到2.7.1节,“检查复制状态”。如果副本无法跟上,您可能想添加另一个复制和分发备份过程。如何配置这个场景的一个示例,明白了3.6节,“不同的数据库复制到不同的副本”