dragosrsupercool Asked: 2014-12-04 11:20:19 +0800 CST2014-12-04 11:20:19 +0800 CST 2014-12-04 11:20:19 +0800 CST 如何备份实时mysql数据库? 772 我有 12 GB MySQL InnoDB 数据库,每秒大约有 800 个查询。我刚开始对其进行“mysqldump”进行备份,我就开始在我的网站上收到“503”。 如何在不影响站点性能的情况下备份我的实时数据库? mysql innodb 4 个回答 Voted Best Answer Ahmad Abuhasna 2014-12-04T13:02:54+08:002014-12-04T13:02:54+08:00 由于数据库大小不小,请尝试以下命令: mysqldump -u USER -p --single-transaction --quick --lock-tables=false --all-databases (or) DATABASE | gzip > OUTPUT.gz vfedorkov 2014-12-06T05:15:32+08:002014-12-06T05:15:32+08:00 您需要使用 Percona XtraBackup 工具。它对庞大的数据集就像一个魅力,并且不会中断 MySQL 操作。http://www.percona.com/doc/percona-xtrabackup/2.2/innobackupex/creating_a_backup_ibk.html有一些技巧,但这是值得的。 Gea-Suan Lin 2014-12-06T13:33:21+08:002014-12-06T13:33:21+08:00 您应该使用 Percona Toolkit 来备份数据库以防止阻塞数据库: sudo innobackupex --user=root --password=rootPASSWORD --host localhost /tmp/ sudo innobackupex --apply-log --use-memory=2G /tmp/$TIMESTAMP/ 您需要足够的磁盘空间/tmp。完成后,您可以将整个目录复制到另一台服务器。 在xtrabackup_binlog_info中,有复制信息。(如果您需要设置从属复制,这很有用) RolandoMySQLDBA 2014-12-04T11:28:59+08:002014-12-04T11:28:59+08:00 您必须使用--single-transaction选项 mysqldump -uroot -p --single-transaction databasename > dump.sql 它允许数据的时间点快照。一旦 mysqldump 启动,所有 InnoDB 表都会及时冻结。假设您在下午 2:30 启动 mysqldump,并在下午 3:00 结束。转储的所有 InnoDB 表将从下午 2:30 开始。所有其他更改(插入、更新、删除)将继续中断,并且不会包含在转储中。 如果 MyISAM 表正在由 INSERT、UPDATE 或 DELETE 更新,MyISAM 会干扰时间点备份。如果 MyISAM 表仅用于读取,--single-transaction仍然可以。 建议 如果你设置了 MySQL 复制,你可以去 Slave 并运行它 mysql -uroot -p... -ANe"STOP SLAVE" mysqldump -uroot -p --single-transaction databasename > dump.sql mysql -uroot -p... -ANe"START SLAVE" Master 不知道有任何备份正在进行。
由于数据库大小不小,请尝试以下命令:
您需要使用 Percona XtraBackup 工具。它对庞大的数据集就像一个魅力,并且不会中断 MySQL 操作。http://www.percona.com/doc/percona-xtrabackup/2.2/innobackupex/creating_a_backup_ibk.html有一些技巧,但这是值得的。
您应该使用 Percona Toolkit 来备份数据库以防止阻塞数据库:
您需要足够的磁盘空间
/tmp
。完成后,您可以将整个目录复制到另一台服务器。在
xtrabackup_binlog_info
中,有复制信息。(如果您需要设置从属复制,这很有用)您必须使用--single-transaction选项
它允许数据的时间点快照。一旦 mysqldump 启动,所有 InnoDB 表都会及时冻结。假设您在下午 2:30 启动 mysqldump,并在下午 3:00 结束。转储的所有 InnoDB 表将从下午 2:30 开始。所有其他更改(插入、更新、删除)将继续中断,并且不会包含在转储中。
如果 MyISAM 表正在由 INSERT、UPDATE 或 DELETE 更新,MyISAM 会干扰时间点备份。如果 MyISAM 表仅用于读取,--single-transaction仍然可以。
建议
如果你设置了 MySQL 复制,你可以去 Slave 并运行它
Master 不知道有任何备份正在进行。