`
234390216
  • 浏览: 10195339 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
A5ee55b9-a463-3d09-9c78-0c0cf33198cd
Oracle基础
浏览量:460912
Ad26f909-6440-35a9-b4e9-9aea825bd38e
springMVC介绍
浏览量:1771975
Ce363057-ae4d-3ee1-bb46-e7b51a722a4b
Mybatis简介
浏览量:1395597
Bdeb91ad-cf8a-3fe9-942a-3710073b4000
Spring整合JMS
浏览量:393946
5cbbde67-7cd5-313c-95c2-4185389601e7
Ehcache简介
浏览量:678297
Cc1c0708-ccc2-3d20-ba47-d40e04440682
Cas简介
浏览量:529358
51592fc3-854c-34f4-9eff-cb82d993ab3a
Spring Securi...
浏览量:1178860
23e1c30e-ef8c-3702-aa3c-e83277ffca91
Spring基础知识
浏览量:462249
4af1c81c-eb9d-365f-b759-07685a32156e
Spring Aop介绍
浏览量:150212
2f926891-9e7a-3ce2-a074-3acb2aaf2584
JAXB简介
浏览量:66921
社区版块
存档分类
最新评论

MySQL导入导出

阅读更多

MySQL的导入导出

 

1       导出

1.1     导出脚本和数据

       MySQL的导出是利用MySQL安装目录的bin目录下的mysqldump指令来进行的,该命令需要在Windowscmd命令窗口执行。语法如下:

       mysqldump –uusername –ppassword database_name > export_path

 

       如:

       mysqldump –uroot –p123 test > D:\\test.sql

如果需要指定导出文件的编码则可以通过参数--default-character-set来指定,如:

 

 mysqldump –uroot –p123 test > D:\\test.sql --default-character-set=utf8

 

 

1.2     只导出脚本

       上述脚本会连目标库里面的数据一起导出来,但有时候我们可能并不需要导出其中的数据,这个时候我们可以加上参数--no-data。(注意no前面是有两个横杠的)。如:

       mysqldump --no-data -uroot -p123 test > D:\\test.sql

 

      

1.3     远程导出

       有时候我们可能想导出的数据库不是本地的,这个时候我们可以加上参数-h来指定要导出的数据库所在的主机,以及在使用非默认端口(3306)时通过参数-P(大写)指定对应的端口。如:

       mysqldump -uroot -p123 -h10.10.10.3 -P3306 test > D:\\test.sql

 

 

       需要注意的是MySQL默认只允许访问本机的数据库,如果需要访问远程的MySQL,那么远程的MySQL应当开放指定IP访问的权限。如:

       grant all privileges on *.* to ‘root’@’10.10.10.3’ identified by ‘123’ with grant option;

 

       也可以把IP换成百分号“%”,表示所有的IP都允许访问,如:

       grant all privileges on *.* to ‘root’@’%’ identified by ‘123’ with grant option;

 

       也可以使用如下形式,表示只允许IP以“10.10.10”开始的进行访问,如:

       grant all privileges on *.* to ‘root’@’10.10.10.%’ identified by ‘123’ with grant option;

 

      

       grant指令是需要在MySQL命令窗口执行的,其标准语法如下所示:

       grant [privilege1,privilege2] on database_name.table_name to ‘username’@’client_host’ identified by ‘password’ [with grant option];

 

       其表示将某个数据库的某个表的某权限赋予给来自某客户端的某用户,“all privileges”表示将授予所有的权限,“with grant option”表示其是否可以将自身的权限授予他人。如果我们只想授予某用户对某表的select权限,则可以使用如下语句:

       grant select on database_name.* to ‘username’@’client_host’ identified by ‘password’;

 

1.4     导出查询结果

       如:

select * from user into outfile 'D:\out.sql'

        如果需要导入这个导出结果,则使用:

load data local infile 'D:\out.sql' into table user;

 

 

2       导入

       导入是在登录以后,在MySQL的命令窗口使用source指令来进行的,语法如下:

       source import_path

 

       如:

       source D:\\test.sql

 如果需要指定导入的编码则可以通过参数--default-character-set来指定。

 

       此外需要注意的是导入必须指定将要导入的数据库,也就是说在执行source导入之前,必须通过use database_name切换到要导入的数据库。

 

2.1     导入远程数据库

       本地导入的话我们可以直接打开MySQL的命令窗口登录数据库进行导入,当然也可以在Windowscmd命令窗口通过mysql指令来登录到MySQLmysql指令也是在MySQL安装目录下的bin目录下,其语法如下:

       mysql -uusername -ppassword

 

       如:

       mysql -uroot -p123

 

       但如果需要导入到远程数据库的话,那么首先我们应当登录到远程数据库,登录到远程数据库的语法是使用mysql指令,但是通过-h参数来指定要登录的远程主机,通过-P(大写)来指定对应的端口。如:

       mysql -uroot -p123 -h10.10.10.3 -P3306

 

       之后我们就可以像上面那样进行导入了。

       需要注意的是远程导入时,也需要有通过本地客户端的mysql指令登录远程数据库的权限,也就是说也需要像导出那样使用grant指令授予对应的权限。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics