从 MySql 导出转储文件

Posted

技术标签:

【中文标题】从 MySql 导出转储文件【英文标题】:Export dump file from MySql 【发布时间】:2011-11-17 10:17:23 【问题描述】:

我想在数据库中创建一个表的转储文件。 所以数据库->国王, 表名 --> 城堡 所以我想做的是创建一个转储文件.. 然后下一部分是将其导入我的本地主机。 数据库名称 --> king_local。 关于如何解决这个问题的任何想法! 谢谢

【问题讨论】:

我知道如何从终端导出数据库.. 但我正在寻找从 mysql 命令行导出数据库的解决方案 当然。这是我修改后的评论:“阅读 MySQL 文档并了解如何将数据库表导出为 CSV 文件。提示:如果需要,您可以从 MySQL 命令行执行此操作。” 那么 *** 的意义何在......谁来决定你可以问什么问题......虽然我很欣赏你的想法......并看到我遵循你的建议的长期利益...... :) 决定你可以问什么问题的人就是你。但是你也可以在问题激发一些温和的火焰发生的情况下应用新孢菌素,因为答案很容易在其他地方找到。换句话说,RTFM 是一些问题的可接受的常见答案。 @Fraz 请考虑接受其他答案 【参考方案1】:

要导出:

 mysqldump -u mysql_user -p DATABASE_NAME > backup.sql

要导入:

 mysqldump -u mysql_user -p DATABASE_NAME < backup.sql

【讨论】:

嗯。我收到错误“backup.sql”权限被拒绝..还有一种方法可以在内部(从mysql)执行此操作,而不是从终端执行此操作..至少导出..我可以从终端本地执行导入 如果您使用的是 Windows Vista 或更高版本,您可能必须“以管理员身份”启动命令行才能有权在指定文件夹中创建文件。 “数以千计的 Google 搜索结果” - Google 把我带到了这里。 当您收到错误mysqldump: Got error: 1044: Access denied for user ... when using LOCK TABLES 时,请将--single-transaction 添加到您的mysqldump 对于导入 mysqldump 不起作用。我改为使用这个版本的导入命令mysqldump -u mysql_user -p DATABASE_NAME &lt; backup.sql【参考方案2】:

例如,要分别转储表定义和数据,请使用以下命令:

mysqldump -u mysql_user -p --no-data test > dump-defs.sql
mysqldump -u mysql_user -p --no-create-info test > dump-data.sql

【讨论】:

【参考方案3】:

要在 windows 中从 WAMP 导出数据库,请按照以下步骤操作 1. 打开命令提示符 2. 将目录更改为mysql的bin文件夹(例如,CD C:\wamp64\bin\mysql\mysql5.7.14\bin) 3. 运行以下命令,其中“password”是您的 mysql 根密码,“dbname”是您的数据库名称,双引号内的路径是您要保存文件的目录。

命令:

mysqldump -u root -p password dbname > "D:\db\db_backup.sql"

【讨论】:

-p 和密码之间应该有空格。它应该看起来像 mysqldump -u root -pPassword【参考方案4】:

由于您现在似乎想从 MySQL 监视器中导出数据,因此您想查看 MySQL 中有关 SELECT ... INTO OUTFILE 的文档:

http://dev.mysql.com/doc/refman/5.0/en/select.html

INTO OUTFILE 是你用来将数据转储到所说的“outfile”的东西,你想指定 MySQL 可以写入的位置的完整路径,例如 /tmp/dump.sql .

然后,您需要注意文档,以便指定如何结束行、分隔字段等:

字段被终止、被包围、被转义、被终止的行

然后再加载它, LOAD DATA INFILE 似乎就是你想要的。转到我发布的那个 URL,它有你想要的一切。

【讨论】:

以上是关于从 MySql 导出转储文件的主要内容,如果未能解决你的问题,请参考以下文章

怎么将mysql数据库数据导出成.sql文件

如何从终端macbook转储mysql db

mysql数据库解转储sql文件的问题

从转储文件中恢复 MySql

在mysql中从数据库创建转储文件

mysql 每个表只导出1000条数据