我使用mysqldump导出数据库,如下所示:
mysqldump -u root -ppassword my_database > c:\temp\my_database.sql
不知何故,它只导出一个表。有什么我做错了吗?
答案 0 :(得分:79)
试试这个。 一般有三种方法可以使用mysqldump -
为了转储一组一个或多个表,
shell> mysqldump [options] db_name [tbl_name ...]
一组一个或多个完整数据库
shell> mysqldump [options] --databases db_name ...
或整个MySQL服务器 - 如下所示:
shell> mysqldump [options] --all-databases
答案 1 :(得分:47)
如果要从mydb转储表t1,t2和t3
mysqldump -u... -p... mydb t1 t2 t3 > mydb_tables.sql
如果mydb中有大量表格,并且想要转储除t1,t2和t3之外的所有表格,请执行此操作您可以使用 - ignore-table 选项。所以你可以这样做:
mysqldump -u username -p database --ignore-table=database.table1 --ignore-table=database.table2 > database.sql
答案 2 :(得分:26)
引用此链接: 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的路径需要以该文件的绝对路径为前缀。此时,表格将导入数据库。
答案 3 :(得分:9)
mysqldump -u root -p dbname table1 table2 table3 > table.sql
答案 4 :(得分:1)
万一遇到这样的错误
mysqldump:1044使用锁定表时访问被拒绝
一种快速的解决方法是将–-single-transaction
选项传递给mysqldump
。
所以您的命令将像这样。
mysqldump --single-transaction -u user -p DBNAME > backup.sql