前言:为啥要用这个呢?
因为管理工具用多了,图快捷,命令行导入啥的都忘了,当你进入一个安全性较高的地方,没联网,没有管理工具,数据库版本还停留在2016年,版本我忘记了,反正很老的那种,让你找数据库的时候你就两眼摸一黑了,亲身体验,忒尴尬。还会让客户怀疑你的专业度
一、windows下(linux下差不多)
1.导出数据库
(1)进入mysql安装目录的bin文件夹下
然后双击路径,cmd 回车进入dos界面
或者(windows+r cmd 进入dos界面
再cd C:\Program Files\MySQL\MySQL Server 5.7\bin)
两种的效果都一样我比较推荐上边一种进入命令行bin目录下的方法方便快捷
(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
问题原因:这个命令行默认的端口是3306,如果你的端口是其他的,那就把端口也加上 -P端口,
mysqldump -P6033 -uroot -p test > C:\Users\Administrator\Desktop\leading-end\test.sql
然后就导出成功了,可以在导出的路径那里查看
2.导入数据库
(1)进入mysql命令行
端口为3306的
mysql -uroot -p
其它端口
mysql -uroot -P6033 -p
(2)创建数据库
create database newstest;
use newstest;
set names utf8;
(3)导入数据:创建完数据库后有两种导入方法(二选其一即可)
方法A: source 路径加文件名
source C:\Users\Administrator\Desktop\leading-end\test.sql
查看是否导入成功
方法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;
2.照着一操作就行