首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有停机的MySQL备份

没有停机的MySQL备份
EN

Database Administration用户
提问于 2012-07-10 09:07:17
回答 3查看 4.8K关注 0票数 3

我正在运行M/S复制的MySQL 5.5 / innoDB (通过ubuntu)。

我的数据库相当大:~250 DB。

我正在寻找一个备份工具/服务,它将执行以下操作:

  1. 全备份
  2. 服务器上没有停机/锁
  3. 尽可能自动化

有什么建议吗?

EN

回答 3

Database Administration用户

发布于 2012-07-10 09:15:59

其中一个选项是有一个额外的从MySQL服务器专门用于备份目的,它可以被停止/锁定而不影响生产DB。

票数 5
EN

Database Administration用户

发布于 2012-07-10 12:36:45

只要使用mysqldump,就可以执行一些有趣的备份方案。

2011年4月17日,我写了一篇关于并行mysqldumps的自动化脚本的文章:请参阅如何优化大型数据库的mysqldump?

我还在那篇文章中提到了其他选择,包括XtraBackup。

在250 g数据库中,如果一个表是200 g,那么我的解决方案可能是不够的。

请运行此查询以找出您最大的5个表。

代码语言:javascript
复制
SELECT table_schema,table_name,data_length,index_length
FROM information_schema.tables ORDER BY data_length DESC LIMIT 5;

根据你的烤箱,这是五张最大的桌子

代码语言:javascript
复制
mysql> select num,format(num/power(1024,3),2) num_gb
    -> from (
    ->     select 18455986176 num union
    ->     select 15031681024 union
    ->     select 14825160704 union
    ->     select 10196353024 union
    ->     select 9934143488
    -> ) A;
+-------------+--------+
| num         | num_gb |
+-------------+--------+
| 18455986176 | 17.19  |
| 15031681024 | 14.00  |
| 14825160704 | 13.81  |
| 10196353024 | 9.50   |
|  9934143488 | 9.25   |
+-------------+--------+
5 rows in set (0.02 sec)

mysql>

您只可以在从服务器上并行使用mysqldump集:请参见如何优化大型数据库的mysqldump?

基本的范例是在奴隶身上执行这个序列:

  • STOP SLAVE;
  • 每组10 DB
    • 在一个组中以单独的文件并行转储所有10个DBs。

  • START SLAVE;
票数 1
EN

Database Administration用户

发布于 2012-07-17 11:45:55

另一个选择是将数据库上传到Amazon,这是一个托管的数据库服务。有一个选项可以在RDS实例上获得大型磁盘存储:

对于每个DB实例类,Amazon为您提供了为主数据集选择从5GB到1TB的关联存储容量的能力。

所以你可以把你的250 in的硬盘和只有关键的东西运行在内存中。然后,Amazon将为您处理备份、高可用性和故障转移。虽然代价很高,但它可以为您节省自动处理mysqldump等的工作。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/20618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档