问题标签 [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.
select - 使用 MySQLdump 进行数据库迁移的子集
我一直在使用 mysql 和 mysqldump 来教自己如何从一个数据库中获取数据,但我认为自己是一个温和的 MySQL 新手,只是为了记录。
我想做的是将一个数据库的子集放入另一台服务器上的全新数据库中,因此我需要创建 db/table 创建 sql 以及填充数据记录。
假设我的原始数据库有 10 个表,每个表有 100 行。我的新数据库将有 4 个这样的表(所有原始列),但每个数据集都有 40 行的进一步细化。这 40 行是用一些不太短的 SELECT 语句隔离的,每个表一个。
我想生成 .sql 文件,我可以从 mysql 调用它来加载/插入我导出的数据。如何生成这些 sql 文件?我听说您可以从 mysqldump 调用 select 语句,但没有看到与我一样长的 select 语句的相关示例。
现在我可以生成 sql 输出,它只是带有列名的结果集,但没有插入代码等。
非常感谢您的帮助。
mysql - 根据mysql中的现有表生成“create table”sql命令
我有一个 mysql shell,但出于安全原因,我无法运行 mysqldump 命令。
我有一张我不久前制作的包含很多列的表,我想生成一个新的“创建表”命令来在不同的数据库上创建该表。
我可以在 mysql shell 中运行一些命令来生成它吗?
谢谢。
backup - 确保 mysqldump <-> rsync 的数据完整性
我使用 rsync 备份服务器上的文件,使用 mysqldump 备份我的数据库。这是我的担忧:
我的数据库上的 mysqldump 大约需要 30 秒。我有一个名为 photos 的表,它存储有关用户上传的图像的信息,包括文件的路径。我担心在完成 mysqldump 所需的 30 秒内上传或删除照片时会发生什么。如果发生这种情况,然后我要恢复 rsync'd 文件和 mysqldump 数据,那么我可以查看一个数据库,其中包含指向已删除照片的行,或者丢失已成功上传的照片的行。
如何确保 mysqldump 与 rsync 完全匹配?
在此先感谢,布赖恩
mysql - 备份 MySQL 数据库
我有一个大约 1.7GB 的 MySQL 数据库。我通常使用 mysqldump 备份它,这大约需要 2 分钟。但是,我想知道以下问题的答案:
mysqldump 是否会阻止对数据库的读取和/或写入操作?因为在实时场景中,我不想阻止用户在备份数据库时使用它。
对我来说,只在一周内备份一次整个数据库是理想的,但在中间几天只需要备份一个表,因为其他表不会改变。有没有办法做到这一点?
对于这些目的,mysqlhotcopy 是更好的选择吗?
mysql - 如何处理 mysqldump 创建的巨大行长
我在 cron 作业中使用 mysqldump 来备份超过 200 万行的数据库。
它创建一个文本文件,可用于从命令行恢复数据记录。
我认为在还原之前编辑转储作为更改值和表或列名称的一种快速方法会很有用- 至少在我了解更多并有信心使用 ALTER 和 UPDATE 进行此操作之前。
编辑大文本文件并不困扰我,但我惊讶地发现在我的数据库的250 兆字节转储中,只有大约 300 行。每行大约有 800k 个字符长。
是否有另一种生成转储的方法可以更好地控制行长?
还是应该使用 sed 或 Perl 等工具对转储进行后处理?
mysql - 从拆分 mysqldump 的内容中恢复 mysql db
您好,我的数据库已开始超过 2GB 的备份大小,因此我正在寻找拆分文件然后重新组装以恢复数据库的选项。
我从执行以下备份 shell 文件中获得了一系列文件:
DATE_STRING=`日期+%u%a`
BACKUP_DIR=/home/myhome/备份
/usr/local/mysql_versions/mysql-5.0.27/bin/mysqldump --defaults-file=/usr/local/mysql_versions/mysql-5.0.27/my.cnf --user=myuser --password=mypw -- add-drop-table --single-transaction mydb | 拆分-b 100000000-排名-$DATE_STRING.sql-;
这会产生一系列文件,例如:
mydb-3Wed.sql-aa
mydb-3Wed.sql-ab
mydb-3Wed.sql-ac ...
我的问题是我需要用于 linux 进行恢复的相应命令序列是什么?
以前我使用这个命令:
/usr/local/mysql_versions/mysql-5.0.27/bin/mysql --defaults-file=/usr/local/mysql_versions/mysql-5.0.27/my.cnf --user=myuser --password=mypw -D mydb < the_old_big_dbdump.sql
任何建议,即使他们不涉及 split / cat 将不胜感激
mysql - apache2 和 mysqldump 导致大量负载平均峰值
我遇到了一个让我有些头疼的问题,我可以就如何调查/修复它提出一些想法。
设置:
- 我在服务器 A (Rails.A) 上运行 Rails 应用程序 (Apache2 w/Passenger)
- 我在专用数据库服务器 B (DB.B) 上运行主数据库
- 我正在使用标准 MySQL 复制在服务器 A (DB.A) 上运行从属数据库(仅用于备份目的)
- Rails.A 正在读/写 DB.B
问题:
在 DB.A 上运行 mysqldump 时,A 上的平均负载猛增,因为 Apache 似乎剥离了成吨的进程。这对我来说真的没有意义,因为 Rails.A 甚至没有使用 DB.A。我可以完全关闭 DB.A 并且 Rails.A 工作得很好。
我什至尝试使用“ionice -c2 -n6”运行 mysqldump,但没有任何变化。
想法?
mysql - MySQL "set unique_checks", "set foreign_key_checks" vs. "alter table disable keys"
我们遇到了一个问题,mysqldump 脚本花费了 90% 的时间来填充它处理的一小部分表。消除 FK 和索引可以消除速度问题,但不是可接受的解决方案。
转储脚本确实有:
我们可以期待任何不同的行为ALTER TABLE foo DISABLE KEYS
吗?
此外,disable keys
在我重新启用它之前,它是会话范围的还是永久的?我可以从一个 mysql 会话中禁用密钥并使其影响从另一个会话发出的导入吗?
mysql - 如何在 Windows Vista 中将 mysqldump .sql 文件加载到 MySQL 数据库
我正在尝试将 MySQL 数据库从 Linux 机器移动到运行 Windows Vista 的机器上。
使用 mysqldump,我得到了一个.sql
文件,我已经将它移到了 Windows 机器上。下一步是什么?
如果我要转移到另一台 Linux 机器上,可以做这样的事情:
有谁知道在 Windows 命令行中工作的类似调用?或者有没有工具可以做到这一点?
当我从 Windows 命令行尝试这种类型的命令时,我得到:
我也试过:
那给了:
mysql - 大型数据集的最佳数据库引擎
我进行数据挖掘,我的工作涉及将 +1GB 数据库转储文件加载和卸载到 MySQL。我想知道在大型数据库上是否有任何其他免费数据库引擎比 MySQL 更好?PostgreSQL 在性能方面更好吗?
我只使用基本的 SQL 命令,所以速度是我选择数据库的唯一因素