参考文献
linux下mysqldump导出数据、表结构,导入数据
mysqldump导入导出数据库总结
导出整个数据库
mysqldump -uroot -prootpwd -h127.0.0.1 -P3306 db_name > db_name.sql
复制
参数解释如下:
-u: 使用root用户
-p: 使用root用户的密码
-h:指定访问主机
-P:指定端口号
db_name : 指定导出的数据库名称
db_name.sql : 指定导入存储的数据文件
导出来的数据可以使用
vim
查看一下:
只导出表结构:
mysqldump -uroot -prootpwd -h127.0.0.1 -P3306 --add-locks -q -d db_name> db_name_table.sql
复制
-h:指定访问主机
-P:指定端口号
-q:不缓冲查询,直接导出至标准输出
--add-locks :导出过程中锁定表,完成后回解锁。
-d :只导出表结构,不含数据
导入数据库
导入单个库之前,首先需要创建数据库,不然会报错。
[root@ibmserver10 sql]# mysql -uroot -prootpwd db_name < db_name.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1049 (42000): Unknown database 'db_name'
复制
创建好数据库之后,则选择这个库,进行数据导入。
[root@ibmserver10 sql]# mysql -uroot -prootpwd db_name < db_name.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
复制
另一种导入数据库SQL文件的方式
常用source 命令
进入mysql数据库控制台,如
mysql -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source d:/dbname.sql
复制
刷新权限
如果是导入所有数据库的数据之后,需要flush一下数据库。因为mysql库是包含用户的,如果不flush权限,则会导致这些导入的用户无法登陆使用。
flush PRIVILEGES;
复制