• 技术文章 >数据库 >mysql教程

    MySQL远程数据导出导入_MySQL

    2016-06-01 13:32:14原创719
    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
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:服务器 数据库
    上一篇:mysql新建用户本地无法登录_MySQL 下一篇:连接查询与集合查询_MySQL
    PHP编程就业班

    相关文章推荐

    • 超详细汇总mysql优化实践技巧• mysql select语句中or的用法是什么• MySQL面试问答集锦(总结分享)• 浅析MySQL中的事务隔离级别,聊聊其实现原理• 一起分析MySQL的binlog怎么恢复数据

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网