mysql如何在命令行界面导出数据库表


进入mysql的bin目录下

导出任意一张表

./mysqldump -h xxx.xxx.xxx.xxx -P xxxxx -uusername -p --skip-lock-tables databasesname tablename >  tablename.sql

--skip-lock-tables的作用是,如果表被锁住了,依然执行导出动作

导出整个数据库

./mysqldump -h xxx.xxx.xxx.xxx -P xxxxx -uusername -p --skip-lock-tables databasesname >  databasename.sql

导出所有表的结构

./mysqldump -h xxx.xxx.xxx.xxx -P xxxxx -uusername -p  -d --skip-lock-tables databasesname >  databasename.sql

-d表示不到处数据

导出某张表的结构

./mysqldump -h xxx.xxx.xxx.xxx -P xxxxx -uusername -p -d --skip-lock-tables databasesname tablename >  tablename.sql


但是这样导出的数据比较奇葩,他把几千行的数据放在一行里导出,而不是一行一行的导出,这一点我不太明白。

尤其是在把数据一键导入时遇到了困难


有篇参考链接,里面参数很多,感觉还行,具体没调研

http://www.jb51.net/article/52946.htm


补充:我在用mysqldump导出数据后,想用navicat导入,发现一个insert语句里面包含上千个插入,用navicat的sql导入功能失败

在老司机的提示下,用source导入试了下,完美解决!因此在数据库的导入导出操作时应该保持一致,命令行导出就命令行导入

你可能感兴趣的:(Mysql)