相关疑难解决方法(0)

减少mysql中ibdata大小的最佳方法是什么?

我有一些生产服务器,其ibdata文件的大小每天都在增加。

它已经消耗了 290GB 的空间。

服务器中的表多为InnoDB,读写请求量大。

日志文件大小也在增加。表中有大量数据。

我怎样才能控制两者的增长规模?

我没有使用innodb_file_per_table.

mysql innodb

69
推荐指数
1
解决办法
13万
查看次数

mysqldump -all-databases 是否包括所有对象

是否mysqldump -all-databases包括所有对象?

我必须将所有数据库迁移到新服务器。

mysql mysqldump backup

19
推荐指数
1
解决办法
2万
查看次数

什么是最佳的 mysqldump 设置?

经过一番搜索,我最终得到了以下设置:

    mysqldump\
    --host=localhost\
    --port=3306\
    --databases ****\
    --user=****\
    --password=****\
    --default-character-set=utf8\
    --add-drop-database\
    --add-drop-table\
    --add-locks\
    --complete-insert\
    --extended-insert\
    --lock-all-tables\
    --create-options\
    --disable-keys\
    --quick\
    --order-by-primary\
    --set-charset\
    --tz-utc\
    > dump/test.sql
Run Code Online (Sandbox Code Playgroud)

到目前为止一切顺利,但我对参数和执行有一些疑问。

关于我的第一个问题,我只想确保所有这些都是必需的,并且一起使用时不会引起任何冲突。最终,我想制作一个非常强大且一致的转储文件,其中包含数百万条记录,用于创建表、数据库和插入数据。好消息是让数据库暂时不可用对我来说不是问题。我唯一的目标是制作一个健壮且一致的转储文件。

关于我的第二场音乐会,我想知道如何在命令出错时获得通知,如果是,则抛出异常。

有任何想法吗?

编辑

这是我根据 RolandoMySQLDBA 的反馈更新的 mysqldump 命令。

mysqldump\
--host=localhost\
--port=3306\
--databases ****\
--user=****\
--password=****\
--default-character-set=utf8\
--opt\
--single-transaction\
--routines\
--triggers\
--events\
--add-drop-database\
--add-drop-table\
--complete-insert\
--delayed-insert\
--tz-utc\
> dump/test.sql
Run Code Online (Sandbox Code Playgroud)

mysql mysqldump backup configuration

16
推荐指数
1
解决办法
2万
查看次数

MySQL 复制:“主键的重复条目”

你能帮我理解为什么我在完全重新同步后在从服务器上收到“主键的重复条目”。

基本上'mysqldump'几乎整晚都在运行,然后恢复过程花了几个小时,所以当我启动slave时,它比master慢了~63874秒。

从服务器是只读的(read_only)并且在重新同步过程中没有任何写入,所以我不明白为什么会有重复的密钥。

二进制日志格式在 master 上设置为 MIXED。

用于备份数据库的命令:

mysqldump --opt --single-transaction -Q --master-data=2 db | bzip2 -cz > db.sql.bz2
Run Code Online (Sandbox Code Playgroud)

从站仅从主站(db -> db_backup)复制一个数据库,并使用以下选项:

replicate-wild-do-table = db_backup.%
replicate-rewrite-db = db->db_backup
Run Code Online (Sandbox Code Playgroud)

mysql replication mysqldump

12
推荐指数
1
解决办法
3万
查看次数

如何使用mysqldump增加500GB数据库的快速备份和恢复?

有一个大小为 500GB 的数据库 A。数据库 A 中的表包含 MyISAM 和 INNODB 表。MyISAM 表是主表,Innodb 表是主事务表。

使用 mysql dump 进行备份和恢复需要很长时间或几天才能退出。

  • max_allowed_pa​​cket=1G
  • Foreign_key_checks=0
  • 自动提交 = 关闭

mysql innodb myisam mysqldump backup

11
推荐指数
1
解决办法
4万
查看次数

Percona xtrabackup 是我 500GB MySQL 备份的正确选择吗?

我有一个 500GB 的 MySQL 数据库,主要由 Innodb 表和一个大 (200GB) MyISAM 表组成。我当前的备份策略是将 db 文件复制到外部硬盘驱动器。这会导致约 4 小时的停机时间。我的需求:

  1. 低成本。
  2. 恢复时间可能很长。无需实时复制。
  3. 可以处理 1 周到 2 周范围内的数据丢失。
  4. 希望备份的停机时间尽可能短,但最多可以忍受 2 小时。

目前正在考虑尝试迁移到 Percona xtrabackup。它是否适合我的用例?我特别担心它会锁定 MyISAM 表和学习曲线。

mysql innodb myisam backup xtrabackup

8
推荐指数
1
解决办法
6457
查看次数

mysql备份策略?

我们有一个 innodb mysql 数据库,所以我们迷失了许多不同的 mysql 备份策略。有人谈论mysqldump,有人谈论第三方工具。有些表我们还计划运行分区。有什么好工具可以帮助完成这项任务?

mysql innodb mysqldump backup

6
推荐指数
1
解决办法
6900
查看次数

MySQL 服务器备份

我想知道是否有任何方法可以定期将整个 MySQL 服务器备份到特定位置。(如果需要版本,我可以轻松获取)。

如果有,我必须有一种方法可以轻松地从该服务器备份中恢复单个数据库,就像我已经单独备份它们一样。

所使用的方法只是一个纯粹的备份,没有区别,因此无需担心并发症。

更新:我使用 Windows Server 2008 来托管 MySQL 服务器

mysql backup windows

5
推荐指数
1
解决办法
1631
查看次数

如何将混合了 InnoDB 和 MyISAM 的 MySQL 数据库复制到同一台服务器上?

因为mysqldump需要永远,我们决定只移动文件。因为 2 个数据库在同一台服务器上,所以 acp会很快。

问题是,从研究来看,MyISAM 可以完全移动,但 InnoDB 不是。

我读到了这个:http : //www.mysqlperformanceblog.com/2009/07/31/copying-innodb-tables-between-servers/

最后一个问题是,有没有办法一次移动整个数据库并确保 InnoDB 和 MyISAM 表都正常。

有任何想法吗?非常感谢!

mysql innodb myisam mysqldump backup

5
推荐指数
1
解决办法
1921
查看次数

适用于 MySQL InnoDB 数据库的哪些热备份工具:Percona XtraBackup、Zmanda Recovery Manager Enterprise 或 Community 或……?

我管理一个 PHP/MySQL 网站:

  • 最多 500 个同时用户/平均每小时 4000 个更新/读取
  • 1 MySQL 社区服务器 (5.1) -(至强/16 Go RAM)
  • 100 个表上的 InnoDB 存储引擎,用于 1.4 Go of data

实际上,每 3000 万个 cronjob 都会在文件中进行一次完整的转储......但是由于有几个,它会导致 PHP 出现致命错误(因为超时)

所以我想要一个工具来做真正的热备份......我用谷歌搜索并“stackoverflowed”,似乎“产品似乎可以完成这项工作:- Percona XTraBackup(免费)- Zmanda 恢复管理器社区(免费)- Zmanda恢复管理器企业版(500 美元)

但我看不出真正的区别是什么以及可能的标准是什么。我的需求似乎很简单:在发生崩溃时进行完整(或增量)备份以恢复我的数据库而不关闭我的网站......我不是 DBA,所以我需要一个“简单”的产品。

非常感谢您的帮助。

mysql innodb backup percona-tools xtrabackup

5
推荐指数
1
解决办法
6182
查看次数

非阻塞 MySQL 备份

我正在运行带有几个客户数据库的 MySQL 服务器,其中一些数据库非常大。我们每天进行一次完整的 mysql 转储。大约需要半个小时才能完成。

在这段时间内,对 MySQL 服务器的每个请求都会得到非常缓慢的响应(有时大约 1 秒而不是 10 毫秒)。即使没有超时错误,我也希望看到查询在相当长的时间内完成,因此客户网站不会因挂起 MySQL 查询而减慢速度。

我研究了很多,了解了数据复制、LVM 快照、各种mysqldump标志选项和其他变通方法,但没有什么能真正改善这种情况。

是否有任何选项可以在 MySQL 中设置查询优先级?

如果有一种方法可以定义查询优先级,我可以给备份进程一个较低的优先级,以确保所有其他查询执行得更快。该mysqldump过程可能会SIGTSTP在受到另一个请求的挑战时暂时暂停 ( ),并SIGCONT在查询完成后继续 ( )。但是,我在 MySQL 中找不到这样的特性。

mysqldump进程一个更高的nice值是行不通的,因为它只会增加备份进程和表锁存在的时间。(我正在锁定每个表。)此外,限制 IO 写入速率只会导致更长的痛苦。

除了 LVM 和复制之外,还有没有我错过的解决方案?

mysql replication mysqldump performance backup

5
推荐指数
1
解决办法
3329
查看次数

是否有 mk-parallel-dump 的继任者或替代者?

只需在可能过时的高性能 MySQL 版本中阅读有关mk-parallel-dump 的信息。听起来不错,但是当我去下载它时,我发现它已被弃用,Percona 工具包中没有等效的命令。

是否有其他工具可以做类似的事情——即快速数据库备份?

mysql mysqldump backup maatkit

4
推荐指数
1
解决办法
2629
查看次数

无停机时间的 MySQL 备份

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

我的数据库非常大:~250GB。

我正在寻找可以执行以下操作的备份工具/服务:

  1. 完整备份
  2. 服务器上没有停机时间/锁定
  3. 尽可能自动化

有什么建议?

mysql mysqldump backup mysql-5.5

3
推荐指数
1
解决办法
4187
查看次数