问题标签 [mysqldump]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - mysql转储 | mysql 产生“打开的文件太多”错误。为什么?
我有一个 RHEL 5 系统和一个全新的硬盘驱动器,我专门用于 MySQL 服务器。为了开始,我使用了“mysqldump --host otherhost -A | mysql”,尽管我注意到手册页从未明确建议尝试此操作(mysqldump 到文件中是不行的。我们正在谈论 500G 的数据库)。
这个过程以随机的时间间隔失败,抱怨打开了太多文件(此时 mysqld 得到相关信号,然后死掉并重生)。
我尝试在 sysctl 和 ulimit 上提高它,但问题仍然存在。我该怎么办?
sql - 从 MySQL 迁移到任意符合标准的 SQL2003 服务器
是否有 mysqldump 或类似工具的咒语会产生一段 SQL2003 代码来在任意符合 SQL2003 的 RDBMS 中创建和填充相同的数据库?
(我现在正在尝试的是 MonetDB)
mysqldump - 限制来自 mysqldump 的记录数?
我正在尝试将大型数据库中的一小部分记录加载到测试数据库中。
你如何告诉 mysqldump 只给你 800 万条记录中的 n 条记录?
谢谢
mysql - mysqldump --password 真的按照它说的做吗?
我正在尝试使用mysqldump
转储模式,它主要工作,但我遇到了一个好奇心:-p
or--password
选项似乎在做其他事情而不是设置密码(正如man
页面和--help
输出所说的那样)。
具体来说,它似乎正在执行此处指示的操作:http: //snippets.dzone.com/posts/show/360 - 即将数据库设置为转储。
为了支持我有点古怪的说法,我可以告诉你,如果我不指定--password
(or -p
) 选项,该命令会打印使用语句并退出并出现错误。如果我确实指定了它,我会立即提示我输入密码 (!),然后--password
转储选项中指定的数据库(或者在通常情况下会给出错误,即指定的密码与任何数据库名称都不匹配)。
这是一个成绩单:
那么,什么给了?这是应该的工作方式吗?它肯定看起来没有意义,也不符合官方文档。最后,如果这就是它的工作方式,我该如何指定要在自动化作业中使用的密码?使用expect
???
我正在使用mysqldump Ver 10.10 Distrib 5.0.22, for pc-linux-gnu (i486)
.
mysql - 如何使用 mysqldump 在帐户之间复制视图?
我正在使用mysqldump在特定机器上的帐户之间复制数据库。一切都很好,除了当我们到达我们定义的视图时。因为转储包含如下一行...
...当在 user_b 上将转储加载到 mysql 时,我们收到一个错误:
不用说,我对这个 mysql 实例没有超级权限。有没有办法说服mysqldump以与用户无关的方式转储视图?关于这一点,我在手册中找不到任何内容。我是否必须实际解析转储文件来替换用户名?还是我错过了什么?
unix - MySQL权限问题 - 应该是非问题
这让我有点抓狂:我在一台服务器上做了一个分区表的 mysqldump,将生成的 SQL 转储移动到另一台服务器,并尝试运行插入。它失败了,但我很难弄清楚为什么。谷歌和 MySQL 论坛和文档并没有太大帮助。
失败的查询看起来像这样(为了简洁和清晰而被截断,更改名称以保护无辜者):
错误是:
错误1(HY000):无法创建/写入文件'/opt/data/data2/idx_foo/my_precious_table#P#p0#SP#foo0.MYI'(错误代码:13)
“无法创建/写入文件”对我来说似乎是一个权限问题,但目标文件夹的权限如下所示:
为了踢球,我尝试对 root:root 和我自己进行 chowning。这并没有解决问题。
源 MySQL 服务器是 5.1.22-rc-log 版本。目标服务器是 5.1.29-rc-community。两者都在最近的 CentOS 安装上运行。
编辑: 更多研究表明 Errcode 13 实际上是权限错误。但我怎样才能得到它rwxrwxrwx
?
编辑: 比尔卡尔文的绝妙建议没有成功。我以 root 用户身份工作,并设置了所有权限标志。
编辑: 在不为各个分区指定数据目录的情况下创建表是可行的——但我需要将这些分区放在比这个 MySQL 实例默认放置表的磁盘更大的磁盘上。而且我不能只在表级别指定 DATA/INDEX DIRECTORY - 这在我使用的 MySQL 版本(5.1.29-rc-community)中是不合法的。
编辑:感谢 MySQL 邮件列表和内部 IT 人员,终于找到了答案。见下文。
mysql - MYSQL - 我将如何导出仅指定某些字段的表?
如何导出仅指定某些字段的表?
我正在使用 mysql 5.0 - 使用 sql 命令或 mysqldump。
我的表是 X,我要导出的字段是 A,B,C
sql - 使用 mysqldump 跳过某些表
有没有办法从 mysqldump 命令限制某些表?
例如,我将使用以下语法仅转储table1 和 table2:
但是有没有类似的方法来转储除table1 和 table2 之外的所有表?我在 mysqldump 文档中没有找到任何东西,那么暴力(指定所有表名)是唯一的方法吗?
mysql - mysqldump和single-transaction在同时使用DDL时如何获取正确的dump?
我是 MySQL 新手,我正在寻找使用mysqldump
. 此页面建议使用此命令行:
但是...如果您仔细阅读文档,您会发现:
在
--single-transaction
转储过程中,为确保转储文件有效(正确的表内容和二进制日志位置),其他连接不应使用以下语句:ALTER TABLE, DROP TABLE, RENAME TABLE, TRUNCATE TABLE
. 一致性读取与这些语句并不隔离,因此在要转储的表上使用它们可能会导致SELECT
执行者mysqldump
检索表内容获取不正确的内容或失败。
那么,有什么方法可以防止这种可能的转储损坏情况?即可以暂时阻止这些语句的命令。
PS:关于这个主题的 MySQL 错误条目http://bugs.mysql.com/bug.php?id=27850
mysql - 如何从 mysqldump 获得与 mysqladmin/backup 完全相同的输出
在一个非常重要的 Windows 服务器上,我们使用 mysqladmin 实用程序设置的计划任务来备份我们的关键数据。
我想使用更简单的 mysqldump 命令,但我想确保输出相同。大概 mysqladmin 和 mysqldump 都共享一个共同的核心转储组件,因此对于 mysqladmin 中的任何给定设置,我应该能够找到 mysqldump 产生完全相同输出的配置。
但是怎么做?
目前我正在尝试和错误 - 但有更好的方法吗?