草庐IT

MYSQLDUMP

全部标签

mysqldump整个结构,但仅在单个命令中选择表中的数据

我的数据库有3个表:table1、table2和table3我想在这个数据库上做一个mysqldump,条件如下:所有表的转储结构只转储table1和table2的数据,忽略table3中的数据目前,我使用2个mysqldump语句来完成此操作mysqldump-uuser-p-ddb>db_structure.sqlmysqldump-uuser-pdb--ignore-table=db.table3>table1_and_table2_data.sql按照转储顺序导入它们(结构,然后是表1和表2中的数据)有没有办法将它组合成一个mysqldump命令?

mysql - 复制/var/lib/mysql 目录是 mysqldump 的一个很好的替代方案吗?

由于我正在对整个debian系统进行完整备份,因此我在考虑是否拥有/var/lib/mysql目录的副本是使用mysqldump转储表的可行替代方案。该目录中是否包含所有需要的信息?单个表可以导入另一个mysql吗?在(可能略有)不同的mysql服务器版本上恢复这些文件时会出现问题吗? 最佳答案 是的是,如果表使用MyISAM(默认)引擎。如果它使用InnoDB,则不会。可能没有,如果有,你只需要执行mysql_upgrade来修复它们为避免数据库处于不一致状态,您可以关闭MySQL或在备份前使用LOCKTABLES然后FLUSHT

mysqldump:写入时出现 errno 32

我多年来一直在我的VPS上使用这个脚本。而且它还在工作。DBLIST=`mysql-uroot-pROOT_PASSWORD-ANe"SELECTGROUP_CONCAT(schema_name)FROMinformation_schema.schemataWHEREschema_nameNOTIN('information_schema','performance_schema')"|sed's/,//g'`MYSQLDUMP_OPTIONS="-uroot-pROOT_PASSWORD--single-transaction--routines--triggers"BACKUP_D

mysql - 如何使用 mysqldump 仅导出 CREATE TABLE 命令?

我正在尝试使用mysqldump仅导出DB模式——没有数据,没有额外的SQL注释,只有CREATETABLE命令。到目前为止,这是我所得到的:mysqldump-hlocalhost-uroot-p--no-data--compactsome_db它几乎达到了我想要的效果,但我想消除“字符集”行(类似于下面示例输出中的前3行)。是否有mysqldump选项可以做到这一点?/*!40101SETcharacter_set_client=@saved_cs_client*/;/*!40101SET@saved_cs_client=@@character_set_client*/;/*!40

mysql - 如何将 mysqldump 的输出拆分为较小的文件?

我需要将整个表从一个MySQL数据库移动到另一个。我没有对第二个的完全访问权限,只有phpMyAdmin访问权限。我只能上传(压缩)小于2MB的sql文件。但是第一个数据库表的mysqldump的压缩输出大于10MB。有没有办法将mysqldump的输出拆分成更小的文件?我不能使用split(1),因为我不能cat(1)将文件返回到远程服务器上。或者还有其他我错过的解决方案吗?编辑第一张海报建议的mysqldump的--extended-insert=FALSE选项会生成一个.sql文件,然后可以将其拆分为可导入的文件,前提是使用合适的--lines选项调用split(1)。通过反复试

mysql - 你能自动创建一个不强制外键约束的 mysqldump 文件吗?

当我在我的数据库上运行mysqldump命令然后尝试导入它时,它会失败,因为它会尝试按字母顺序创建表,即使它们可能有一个外键引用文件中稍后的表。documentation中似乎没有任何内容我找到了像this这样的答案说要在创建文件后更新文件以包含:setFOREIGN_KEY_CHECKS=0;...originalmysqldumpfilecontents...setFOREIGN_KEY_CHECKS=1;有没有办法自动设置这些行或以必要的顺序导出表格(无需手动指定所有表格名称,因为这可能很乏味且容易出错)?我可以将这些行包装在脚本中,但想知道是否有一种简单的方法可以确保我可以转储

mysqldump 错误 : Got packet bigger than max_allowed_packet'

我的应用程序通过IMAP下载邮件并将它们存储在MySQL数据库中。早些时候,我支持最大10MB的邮件大小,因此存储邮件内容的“mediumtext”列就足够了。现在我需要支持最大30MB的邮件。所以我将列的数据类型更改为“大文本”。昨天存储了一封大小为25MB的邮件。之后,每当我执行mysqldump命令时,它都会抛出错误:mysqldump:Error2020:Gotpacketbiggerthan'max_allowed_packet'byteswhendumpingtable`ib_mailbox_backup`atrow:3369第3369行包含25MB邮件。在MySQL配置中

mysqldump 错误 1045 访问被拒绝,尽管密码正确等

这是一个棘手的问题,我有以下输出:mysqldump:Goterror:1045:Accessdeniedforuser'root'@'localhost'(usingpassword:YES)whentryingtoconnect在WindowsXP上尝试使用mysqldump导出我的数据库时。用户名是root,密码正确且仅包含字母数字字符。我尝试了不同的情况,带/不带引号,使用-u和-p指定,使用--user=和指定--password=和其他指定用户/密码等方法,指定主机(都是本地的),甚至使用--databases而不是空白来指定数据库。使用密码时错误总是相同的,并且除了没有密

mysql - mysqldump : "--defaults-extra-file" option is not working as expected 的问题

我从Windows命令行运行以下命令来备份我的数据库:...\right_path\mysqldump--add-drop-database--databasesmy_database_name--defaults-extra-file=d:\1.cnf其中d:\1.cnf包含以下内容:[client]user="my_user"password="my_password"很遗憾,我收到以下错误消息:mysqldump:unknownvariable'defaults-extra-file=d:\1.cnf'如果我这样做:...\right_path\mysqldump--add-dr

mysql - 如何将 mysqldump 用于表的一部分?

所以我只能像这样导出一个表:mysqldump-uroot-pdb_nametable_name>table_name.sql有没有办法用mysqldump只导出表的一部分?例如,0-1,000,000行、1,000,000-2,000,000行等。我应该使用mysqldump还是查询? 最佳答案 mysqldump-uroot-pdb_nametable_name--where='id或者你可以使用SELECT*INTOOUTFILE'data_path.sql'fromtablewhereid