当前位置:Gxlcms > mysql > MySQL远程数据导出导入_MySQL

MySQL远程数据导出导入_MySQL

时间:2021-07-01 10:21:17 帮助过:3人阅读

bitsCN.com

1 前言部分

由于公司的MySQL是搭建在服务器上,为了避免对服务器进行直接改动,我选用了远程导出和导入MySQL的数据

让我们把目光看到上图,由于实际数据库中neem_hanyang下的两个表alarmdata_h和commerr是空表,我们要做的工作就是把neem_jabil下的两个表的数据导到neem_hamyang去

2 导出

要满足上面的需求,我们必须导出neem_jabil下的两个表alarmdata_h和commerr的数据

在此之前,先让我们把目录切换至MySQL的安装目录,笔者的是C:/Program Files (x86)/MySQL/MySQL Workbench 5.2 CE

如果你装的是MySQL Server版,那么应该是类似这种C:/Program Files/MySQL/MySQL Server 5.5,这时请你进入到它的子文件夹bin下面

假设你现在用的是windows系统,那么让我们在dos下输入cd C:/Program Files (x86)/MySQL/MySQL Workbench 5.2 CE

如果你是装的是Server版,那么输入cd C:/Program Files/MySQL/MySQL Server 5.5/bin

看到红圈圈出来的部分,这就是我们的两位主角mysql和mysqldump,我们的导入和导出操作都可以通过他们两个任意一个来实现,那么他们两个有什么区别呢

当数据量比较小的时候我们选择mysqldump(它的上限是2M),当数据量比较大的时候我们则选择mysql

接下来我们就可以在dos下使用mysql或是mysqldump命令来进行数据库的导入导出操作了

2.1 mysqldump导出语法以及举例

mysqldump的导出语法如下

mysqldump -h{hostname} [-P{port}] -u{username} -p{password} [--default-character-set=charset] database [tablename] > {you file path}
注:-h和[hostname]之间并没有空格相连,后同之,[]扩起来的为可选项,可不填

hostname表示主机名,本地则填localhost,远程则填写你的远程IP,如192.168.0.3

username是你的MySQL登录帐号,password则是登录密码

default-character-set则是你的字符集编码,如gb2312、gbk和utf8(没有横杠哦)

dbname是你的数据库名称,tablename是你的表名,假如你不填写tablename的话则默认导出所有的表

mysqldump -h192.168.0.3 -unikey -p123456 --default-character-set=utf8 neem_jabil commerr > d:/jabil1.sql

通过上面的导出语句,将会在d盘下面创建一个jabil.sql脚本文件

这个脚本文件是可运行的,它包含了commerr表的建表细节以及其所有的数据

待续...

2.2 mysqldump导入语法以及举例

mysqldump的导入有两种语法要介绍,分别是mysqldump导入法和source导入法

2.2.1 mysqldump导入

顾名思义,这种方法则还是用mysqldump这个主角来导入,语法规范如下

mysqldump -h{hostname} [-P{port}] -u{username} -p{password} [--default-character-set=charset] database [tablename] < {you file path}
注:导入和导出的语法区别是,导入时小于号,导出是大于号

这种导入方式实质就是运行前面所导出的那个sql脚本文件

mysqldump -h192.168.0.3 -unikey -p123456 --default-character-set=utf8 neem_hanyang commerr < d:/data.sql

2.2.2 source导入

source导入不同于前面,它是一个SQL命令,必须登录进入MySQL在命令行那里才可以运行

而mysqldump实则是一个管理工具,无须登入MySQ在命令行那里运行,只须在dos下运行即可

回到上面例子所处的dos界面,我们可以用下面的命令来登入MySQL

mysql -h{hostname} [-p{port}] -u{username} -p{password}

举例,我们登入一个远程MySQL可以用下面的命令

mysql -h192.168.0.3 -unikey -p123456

登入之后,进入我们要作用的数据库

mysql > use neem_hanyang;

然后我们可以使用source命令来运行前面导出的sql脚本实现数据的导入

mysql > source d:/jabil.sql;

2.2.3 二者对比

mysqldump虽然好用,但它实际上也是运用先登录在运行脚本的策略,只是其中的细节我们无需关心

但是,因为其中有很多远程连接细节,我们有可能遭遇中文乱码问题

输入下面的命令

mysql > show variables like 'character%';

待续...

所以笔者个人建议,如果是作数据导入的话,宁可多做一个步骤,先登录后使用source命令来导入

3 mysqldump扩展

bitsCN.com

人气教程排行