我有两个目的:
目前,亚马逊似乎不支持这两个开箱即用的用例。
我已经看到提到了mysqldump 和 xtrabackup(参见表格帖子)。
我还看到了一个更复杂的过程(记录在这里)
提示和建议表示赞赏。
我有一个 500GB 的 MySQL 数据库,主要由 Innodb 表和一个大 (200GB) MyISAM 表组成。我当前的备份策略是将 db 文件复制到外部硬盘驱动器。这会导致约 4 小时的停机时间。我的需求:
目前正在考虑尝试迁移到 Percona xtrabackup。它是否适合我的用例?我特别担心它会锁定 MyISAM 表和学习曲线。
我管理一个 PHP/MySQL 网站:
实际上,每 3000 万个 cronjob 都会在文件中进行一次完整的转储......但是由于有几个,它会导致 PHP 出现致命错误(因为超时)
所以我想要一个工具来做真正的热备份......我用谷歌搜索并“stackoverflowed”,似乎“产品似乎可以完成这项工作:- Percona XTraBackup(免费)- Zmanda 恢复管理器社区(免费)- Zmanda恢复管理器企业版(500 美元)
但我看不出真正的区别是什么以及可能的标准是什么。我的需求似乎很简单:在发生崩溃时进行完整(或增量)备份以恢复我的数据库而不关闭我的网站......我不是 DBA,所以我需要一个“简单”的产品。
非常感谢您的帮助。
我找不到任何东西,所以我确定答案是否定的,你是什么,菜鸟?但我觉得无论如何都有必要问:)
是否有一个简单的实用程序可以允许在现有主服务器上启动新的从服务器,而无需在主服务器上执行转储?
我已经多次以传统方式设置奴隶,所以我并非不了解这个过程,但我很好奇是否有人和我有同样的感觉,一定有更简单的方法。
我希望这样的实用程序会使用类似于 Percona 的 Xtrabackup 的东西,但它不会输出到转储文件,而是将输出直接流式传输到从属,然后在提要结束后自动启用从属关系。
这是现实的吗?
我注意到 Xtrabackup 中的流选项,但在其仅将 tar 保存在另一台服务器上的能力之外找不到示例,这不是我想要的。我想要一个可以直接流入目标数据库的解决方案,而根本不需要使用转储文件。这在处理大型数据集时特别方便。
我已经通过 PerconaXtrabackup 工具创建了一个 MySQL 备份(感谢本指南):
innobackupex --user=backupmysqluser --password=xyz --compress --stream=xbstream ./ > /var/backups/db/firstBackup.db
Run Code Online (Sandbox Code Playgroud)
它成功创建了热备份。现在我想测试它的恢复情况,所以,首先,我解压它:
cd /var/backups/db
mkdir decompressed
xbstream -x -C decompressed
Run Code Online (Sandbox Code Playgroud)
现在我试着准备它:
innobackupex --apply-log /var/backups/db/decompressed/
Run Code Online (Sandbox Code Playgroud)
结果是这个错误:
160719 20:06:28 innobackupex: Starting the apply-log operation
IMPORTANT: Please check that the apply-log run completes successfully.
At the end of a successful apply-log run innobackupex
prints "completed OK!".
innobackupex version 2.4.3 based on MySQL server 5.7.11 Linux (x86_64) (revision id: 6a46905)
xtrabackup: cd to /var/backups/db/decompressed
xtrabackup: This target seems to be …
Run Code Online (Sandbox Code Playgroud) 我是 Percona XtraBackup 的新手。我一直在尝试执行从本地(测试服务器大约 600GB)到远程服务器的完整备份流。
\n\n我只是有一些问题,需要指导,我认为这是最好的地方。
\n\n我有这个命令,我在本地执行
\n\ninnobackupex --user=user --password=password --stream=tar /which/directory/ | pigz | ssh user@10.11.12.13 "cat - > /mybackup/backup.tar.gz"
我的问题是:
\n\n我的日志扫描没有改变/增加
\n\n>> log scanned up to (270477048535)\n>> log scanned up to (270477048535)\n>> log scanned up to (270477048535)\n>> log scanned up to (270477048535)\n>> log scanned up to (270477048535)\n
Run Code Online (Sandbox Code Playgroud)\n\n我之前读过一条评论,有人说如果没有人使用数据库,日志扫描不会增加。(是的,没有人在使用数据库)\xc2\xa0
它已经运行了一段时间了。
\n\n我尝试使用 xtrabackup 到大约 1.7TB 的本地测试服务器,并在短短几个小时内完成。这是因为我正在使用流所以它很慢吗?
\n\n我的命令中“/which/directory/”\xc2\xa0 的用途是什么?是否要先将\xc2\xa0文件存储在/which/directory/\xc2\xa0中,然后传输到我的远程服务器?为什么我必须指定一个目录?
在我的本地服务器 /which/directory/ 和我的远程服务器 /mybackup/ 上没有创建文件。
\n\n难道我做错了什么 ? …
我正在我的 Dev 上运行一些恢复测试,我注意到存储的例程没有被 innobackupx 恢复。这是可以实现的吗?难道我做错了什么 ?
我只使用 innodb 表,所以最好只使用 innobackupx 来恢复数据库。
谢谢你。
backup ×7
xtrabackup ×7
mysql ×6
innodb ×3
percona ×3
mariadb ×2
mysqldump ×2
linux ×1
myisam ×1
replication ×1