我正在使用 mysqldump 导出数据库,如下所示:
mysqldump -u root -ppassword my_database > c:\temp\my_database.sql
不知何故,它只导出一张表。有什么我做错了吗?
试试这个。mysqldump的使用一般有3种方式——</p>
为了转储一组一个或多个表,
shell> mysqldump [options] db_name [tbl_name ...]
一组一个或多个完整的数据库
shell> mysqldump [options] --databases db_name ...
或整个 MySQL 服务器——如下所示:
shell> mysqldump [options] --all-databases
引用此链接: 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 的路径需要在前面加上该文件的绝对路径。此时表将被导入数据库。
在这里,我将在名为 table.sql 的 sql 文件中从名为 myDB 的数据库中导出 3 个表
mysqldump -u root -p myDB table1 table2 table3 > table.sql
万一遇到这样的错误
mysqldump: 1044 使用 LOCK TABLES 时访问被拒绝
一个快速的解决方法是将–-single-transaction
选项传递给mysqldump
.
所以你的命令将是这样的。
mysqldump --single-transaction -u user -p DBNAME > backup.sql