天天看点

Mysql 5.7.x 导出数据、表结构、导入数据

Mysql 5.7.x 导出数据、表结构、导入数据

参考文献

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

查看一下:

Mysql 5.7.x 导出数据、表结构、导入数据

只导出表结构:

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;           

复制