MySQL远程数据导出导入_MySQL
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]注:导入和导出的语法区别是,导入时小于号,导出是大于号这种导入方式实质就是运行前面所导出的那个sql脚本文件
mysqldump -h192.168.0.3 -unikey -p123456 --default-character-set=utf8 neem_hanyang commerr2.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
上一篇: java怎么捕获异常
下一篇: 数据表的创建与更新_MySQL