前言:为啥要用这个呢?
因为管理工具用多了,图快捷,命令行导入啥的都忘了,当你进入一个安全性较高的地方,没联网,没有管理工具,数据库版本还停留在2016年,版本我忘记了,反正很老的那种,让你找数据库的时候你就两眼摸一黑了,亲身体验,忒尴尬。还会让客户怀疑你的专业度

一、windows下(linux下差不多)

1.导出数据库

(1)进入mysql安装目录的bin文件夹下

mysql 导出 整个数据库 mysql5.7导出数据库_数据库


然后双击路径,cmd 回车进入dos界面

或者(windows+r cmd 进入dos界面

再cd C:\Program Files\MySQL\MySQL Server 5.7\bin)两种的效果都一样我比较推荐上边一种进入命令行bin目录下的方法方便快捷

mysql 导出 整个数据库 mysql5.7导出数据库_数据库_02


(2)使用mysqldump命令导出

导出结构和数据:mysqldump -u用户名 -p 数据库名 > 导出的路径加文件名
回车后会提示输入密码,当然直接在-p后填写密码也行
仅仅导出结构:mysqldump -u用户名 -p -d 数据库名 > 导出的路径加文件名
导出单张表:mysqldump -u用户名 -p -d 数据库名 表名 > 导出的路径加文件名
导出多张表:mysqldump -u用户名 -p -d 数据库名 表1名 表2名 > 导出的路径加文件名

我这里演示的是导出结构和数据

mysqldump -uroot -p test > C:\Users\Administrator\Desktop\leading-end\test.sql

在这里你可能会遇到一个问题(如果你的数据库连接端口是3306,可以忽略这里往下看)

mysqldump: Got error: 2003: Can't connect to MySQL server on 'localhost' (10061) when trying to connect

mysql 导出 整个数据库 mysql5.7导出数据库_mysql_03


问题原因:这个命令行默认的端口是3306,如果你的端口是其他的,那就把端口也加上 -P端口,

mysqldump -P6033 -uroot -p test > C:\Users\Administrator\Desktop\leading-end\test.sql

mysql 导出 整个数据库 mysql5.7导出数据库_mysql_04


然后就导出成功了,可以在导出的路径那里查看

mysql 导出 整个数据库 mysql5.7导出数据库_数据库_05


2.导入数据库

(1)进入mysql命令行

端口为3306的

mysql -uroot -p

其它端口

mysql -uroot -P6033 -p

mysql 导出 整个数据库 mysql5.7导出数据库_数据库_06

(2)创建数据库

create database newstest;
use newstest;
set names utf8;

mysql 导出 整个数据库 mysql5.7导出数据库_mysql 导出 整个数据库_07


mysql 导出 整个数据库 mysql5.7导出数据库_文件名_08

(3)导入数据:创建完数据库后有两种导入方法(二选其一即可)
方法A: source 路径加文件名

source C:\Users\Administrator\Desktop\leading-end\test.sql

mysql 导出 整个数据库 mysql5.7导出数据库_mysql_09


查看是否导入成功

mysql 导出 整个数据库 mysql5.7导出数据库_mysql 导出 整个数据库_10


方法B: mysqldump -u用户名 -p 数据库名 < 导入的路径加文件名

默认端口为3306的

mysqldump -uroot -p test < C:\Users\Administrator\Desktop\leading-end\test.sql

端口为6033的

mysqldump -P6033 -uroot -p test < C:\Users\Administrator\Desktop\leading-end\test.sql

二、拓展
在没有管理工具的情况下要导出数据库
1.如一一样先进入bin目录,进入mysql命令行界面
然后查看数据库找到你要复制的数据库名

show databases;

mysql 导出 整个数据库 mysql5.7导出数据库_数据库_11


2.照着一操作就行