网上很多教程介绍过myslqdump命令的使用方法,但是让我困惑了很久,都没有找到如何使用该命令的方法,通过不断地摸索,才豁然发现原来网上的教程介绍的太粗略了,以至于让人摸不着头脑,所以,就我的学习过程详细地介绍一下:
关键:mysqldump命令要在dos窗口里面执行!!!!!不是登录进去数据库里面再执行!!!!
这一点让我困惑了很久,才搞明白,包括mysql的bin下面的命令,都是在dos窗口执行。
1、导出数据:
启动dos,如果在我的电脑的属性里面配置了,就可以直接运行命令了:
运行里面运行:cmd
(1)导出数据库
假设你要导出数据库:mydata 到F盘根目录下
C:\>mysqldump -uroot -p*** mydata > f:/out_mydata.sql
(1、如果有密码的话,将*号替换为密码,如果没有密码,则去掉*号即可
2、注意,命令最后没有;这里不是sql数据库里面,呵呵)
回车后,什么提示都没有,那就对了,到F盘查看一下,数据已经导出来了。
(2)导出表
假设你要导出数据库mydata中的表users 到F盘根目录下
C:\>mysqldump -uroot -p*** mydata users > f:/out_users.sql
回车后,什么提示都没有,那恭喜你,数据库和表你都会导出了。
如果想导出“远程数据库服务器”的数据,加一个-h参数指定服务器地址即可:
C:\>mysqldump -h 211.2.22.2 -uroot –p*** mydata > out_mydata.sql
2、导入数据
(1)导入数据库
将mydata在mysql中删除:drop databasemydata;
然后再建立一个空的mydata数据库:create databasemydata;
在dos下:
C :\>mysql –uroot –p***mydata < f:/out_mydata.sql
(注意:导出和导入的尖括号方向不同)
回车后,什么提示也没有,数据已经导入到mydata中去了,可以查看一下。
(2)导入数据表
将mydata数据库中的表users删除,然后在dos下:
C:\mysql –uroot –p***mydata < users < f:/out_users.sql
(注意:用两个反方向的尖括号来导入特定的表!!!自己摸索出来,吐血推荐!!)
回车后,什么提示也没有,恭喜你,数据表已经导入成功,进sql查看一下。
============================================================
============================================================
通过拷贝文件
如果数据库特别大,可以使用拷贝的方式进行备份,不过不同的操作系统间可能会导致不兼容。
导出
进入mysql目录,打包需要备份的数据库目录
示例:
1
2 | cd /var/lib/mysql(进入mysql目录)
tar -zcvf db1.tar.gz db1(打包db1目录,如果提示没有权限,在前面加上sudo,提示输入密码后即可) |
导入
首先创建一个空数据库,将打包的文件拷贝到mysql目录后解压
示例:
1
2
3
4
5
6 | mysql -u root -p(输入密码后进入mysql)
create database db1;(创建一个名为db1的数据库)
exit(退出mysql)
cp db1.tar.gz /var/lib/mysql(将打包文件拷贝到mysql目录下)
cd /var/lib/mysql(进入mysql目录)
tar -zxvf db1.tar.gz(解压到当前目录) |
好!mysqldump基础应用到此结束,以后学习过程中继续将问题写出来供大家参考!!