89

我正在使用 mysqldump 导出数据库,如下所示:

mysqldump -u root -ppassword my_database > c:\temp\my_database.sql

不知何故,它只导出一张表。有什么我做错了吗?

4

4 回答 4

115

试试这个。mysqldump的使用一般有3种方式——</p>

为了转储一组一个或多个表,

shell> mysqldump [options] db_name [tbl_name ...]

一组一个或多个完整的数据库

shell> mysqldump [options] --databases db_name ...

或整个 MySQL 服务器——如下所示:

shell> mysqldump [options] --all-databases
于 2013-09-11T13:12:45.867 回答
47

引用此链接: http ://steveswanson.wordpress.com/2009/04/21/exporting-and-importing-an-individual-mysql-table/

  • 导出表

要导出表,请从命令行运行以下命令:

mysqldump -p --user=username dbname tableName > tableName.sql

这会将 tableName 导出到文件 tableName.sql。

  • 导入表

要导入表,请从命令行运行以下命令:

mysql -u username -p -D dbname < tableName.sql

tableName.sql 的路径需要在前面加上该文件的绝对路径。此时表将被导入数据库。

于 2013-09-11T13:17:50.537 回答
25

在这里,我将在名为 table.sql 的 sql 文件中从名为 myDB 的数据库中导出 3 个表

mysqldump -u root -p myDB table1 table2 table3 > table.sql
于 2017-03-21T11:19:42.210 回答
1

万一遇到这样的错误

mysqldump: 1044 使用 LOCK TABLES 时访问被拒绝

一个快速的解决方法是将–-single-transaction选项传递给mysqldump.

所以你的命令将是这样的。

mysqldump --single-transaction -u user -p DBNAME > backup.sql

于 2020-12-08T05:58:36.037 回答