您的位置:首页 > 数据库 > MySQL

17.3.1.1 Backing Up a Slave Using mysqldump

2015-10-16 10:15 483 查看
17.3.1 Using Replication for Backups 使用复制用于备份

17.3.1.1 Backing Up a Slave Using mysqldump 使用mysqldump 备份slave

17.3.1.2 Backing Up Raw Data from a Slave 在slave上备份raw 数据

17.3.1.3 Backing Up a Master or Slave by Making It Read Only

使用复制作为备份方案, 从master 复制到slave,然后备份slave的数据。

slave可以暂停和关闭 在不影响master的运行操作,因此你可以产生一个有效的活的数据快照,

否则将需要master数据库关闭。

如何备份数据库取决于它的大小和是否你只备份数据,或者或者和复制slave 状态

,以便于你能在失败的evnet的时候 重亲创建,因此,有2个选择:

1.如果你使用复制作为解决方案在master上备份你的数据, 你的数据库不是很大,

mysqldump 可能是核实的。

2.对于较大的数据库, mysqldump 会不切实际和低效的, 你可以备份raw 数据文件代替。

当使用raw 数据文件选项也意味着 你能备份binary log和relay logs

另外一个备份策略, 可以用于master或者slave server 是设置server为只读状态。

17.3.1.1 Backing Up a Slave Using mysqldump

使用mysqldump 创建一个数据库的备份让你可以捕获数据库的所有的数据,

可以把数据信息导入到另外一个MySQL Server. 因为备份的格式是SQL语句,

文件可以应用到运行的server .

在使用mysqldump的时候,你应该在slave上停止复制在开始dump 前,确保dump 包含一致性的数据。

停止slave请求, 你可以停止复制在slave上使用mysqladmin:

shell> mysqladmin stop-slave

或者,你可以只停止 slave SQL thread 来暂停evente的执行:

shell> mysql -e ‘STOP SLAVE SQL_THREAD;’

这个是的slave继续从master 的binary log 接收改变的events,并将它们存储在relay logs里通过I/O thread,

但是阻止执行那些events 。在繁忙的复制环境,允许I/O thread 运行在备份期间 可以加速追赶

当slave 启动SQL thread的时候。

2.运行mysqldump 来dump 你的数据库,你可以dump 所有的数据库或者选择数据库来转储。

shell> mysqldump –all-databases > fulldb.dump

3.一旦dump 完成,启动slave操作:

shell> mysqladmin start-slave

在前面的示例中,你可能需要增加用户认证(用户,密码)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: