一、mysql远程导入
前言部分
由于公司的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,导入数据使用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表的建表细节以及其所有的数据。这就是导出命令的特点,它不但会导出数据,还会导出表或者数据库的结构信息。另外如果不带"
> {you file path}"这一部分路径信息,mysqldump导出命令或把内容打印在dos界面。
2.2 mysql导入语法以及举例
mysql的导入有两种语法要介绍,分别是mysql导入法和source导入法:
2.2.1 mysql导入
顾名思义,这种方法则还是用mysql这个主角来导入,语法规范如下:
mysql -h{hostname} [-P{port}] -u{username} -p{password} [--default-character-set=charset] database [tablename] < {you file path}
(此处原文是错误的,在此修正,原文说的是通过mysqldump进行导入)
这种导入方式实质就是运行前面所导出的那个sql脚本文件。
mysql -h192.168.0.3 -unikey -p123456 -P3369 databasename tableName < 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虽然好用,但它实际上也是运用先登录在运行脚本的策略,只是其中的细节我们无需关心,但是,因为其中有很多远程连接细节,我们有可能遭遇中文乱码问题。
关于为何在使用mysqldump做导入时会出现中文乱码问题,我们先用mysql命令登入,然后输入下面的命令:
mysql > show variables like 'character%';
是否注意到红圈部分的编码是latin1?latin1是MySQL的默认字符集,可能由于某种原因你没有指定默认编码,它就会默认为latin1了,这就是你中文乱码出现的原因。
所以笔者个人建议,如果是作数据导入的话,宁可多做一个步骤,先登录后使用source命令来导入。
3 mysqldump导出命令扩展
3.1 --opt命令
在dos下使用mysqldump --help的命令我们可以看到mysqldump更多更详细的使用方法,下面挑几个命令进行讲解。
- --opt:此Mysqldump命令参数是可选的,如果带上这个选项代表激活了Mysqldump命令的quick,add-drop-table,add-locks,extended-insert,lock-tables参数,也就是通过--opt参数在使用Mysqldump导出Mysql数据库信息时不需要再附加上述这些参数。
- --quick:代表忽略缓冲输出,Mysqldump命令直接将数据导出到指定的SQL文件。
- --add-drop-table:顾名思义,就是在每个CREATE TABEL命令之前增加DROP-TABLE IF EXISTS语句,防止数据表重名。
- --add-locks:表示在INSERT数据之前和之后锁定和解锁具体的数据表,你可以打开Mysqldump导出的SQL文件,在INSERT之前会出现LOCK TABLES和UNLOCK TABLES语句。
- --extended-insert或-e:此参数表示可以多行插入。
例如--opt命令的使用,默认情况下--opt是会被调用:
mysqldump -h192.168.0.3 -unikey -p123456 --default-character-set=utf8 --opt neem_jabil commerr_h > d:/jabil3.sql
3.2 --where命令
where命令的原理其实就是sql的where条件限定,格式规范是:--where="字段条件",如:--where="id>1",需要注意的是id这个字段必须是真实存在的,否则会报sql错误如下。
具体的--where代码例子如下:
mysqldump -h192.168.0.3 -unikey -p123456 --default-character-set=utf8 --where="errtype>0" neem_jabil commerr_h > d:/jabil3.sql
3.3 --no-data命令
顾名思义,--no-data的作用就是只导出表结构而不导出数据,举例如下:
mysqldump -h192.168.0.3 -unikey -p123456 --default-character-set=utf8 --no-data neem_jabil commerr_h > d:/jabil3.sql
4 参考文献
1. Mysql导入导出工具Mysqldump和Source命令用法详解
二、MYSQL本地导入
相关推荐
Linux 下 MySQL 数据库导入导出命令大汇总 Linux 作为一个广泛应用于服务器操作系统的平台,MySQL 作为一个流行的关系数据库管理系统,在 Linux 下的使用非常广泛。因此,掌握 Linux 下 MySQL 数据库的导入导出命令...
- `使用说明.txt` 文件很可能包含了导入导出工具的具体操作步骤和注意事项,如如何配置连接、设置数据源、处理数据冲突等。 - Debug文件通常包含程序调试信息,如果导入导出过程中遇到问题,可查看该文件以了解...
1、导出所有库 系统命令行 mysqldump -uusername -ppassword –all-databases > all.sql 2、导入所有库 mysql命令行 mysql>source all.sql; 3、导出某些库 系统命令行 mysqldump -uusername -ppassword –...
5. 使用VBA宏:对于重复性的导入导出任务,可以编写VBA宏自动化流程。 总结,Excel的数据导入与导出功能强大且灵活,适用于各种数据处理需求。掌握这些技巧,能提升你在数据管理、分析和协作中的效率。
支持新注册提交、个人信息查看和修改,管理员对全局数据的查看、删除和修改,批量导出xls汇总表; 编码支持gb2312/gbk和utf8,如果是utf8导出xls需要转换才可以被excel2003正常打开; 找了一大圈包括国外的网站,都...
本文实例讲述了Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法。分享给大家供大家参考,具体如下: #!/usr/bin/env python # -*- coding:utf-8 -*- """ Purpose: 生成日汇总对账文件 Created: 2015...
Navicat8 For MySQL提供了丰富的数据导入导出功能,可以帮助用户方便快捷地实现这一需求: - 导出数据:用户可以选择一个或多个数据表,将数据导出为不同的格式(如CSV、Excel、SQL等)。 - 导入数据:用户可以将...
MySQL是一款广泛使用的开源关系型数据库管理系统,它支持大数据库的存储和数据操作。对于数据库管理员(DBA)来说,掌握MySQL的一些常用命令是必须的。本文将对MySQL DBA常用命令进行总结,以便于DBA快速有效地执行...
本项目是利用Django框架设计的一个汽车租赁网站,旨在提供一系列与汽车租赁相关的服务,如推荐系统、收入管理以及数据导入导出等功能。 1. **首页推荐系统** 首页是用户接触网站的第一界面,通过时间和地址推荐...
数据库是一个存储和管理数据的系统,它按照特定的数据模型组织数据,如关系型数据库(如MySQL、SQL Server、Oracle等)采用表格形式存储数据。数据库操作通常包括查询、插入、更新和删除数据,这些操作可以通过SQL...
3. 数据导入导出:MySQL Front 支持从多种格式(如CSV、Excel)导入数据到数据库,同时也可将数据库中的数据导出为各种文件格式。这对于数据迁移和备份非常有用。 4. 报表设计:用户可以设计和打印报表,对数据库中...
对于复杂的导入导出需求,工具可能还提供自定义SQL语句的选项,以便用户能够精确控制数据操作。 Dct.exe文件很可能是该Excel导入工具的可执行程序。在运行这个程序之前,确保你的计算机已经安装了相应的数据库驱动...
Navicat8 For MySql 的一些用法汇总 Navicat8 是一个功能强大且易于使用的数据库管理工具,适用于 MySQL 数据库管理。下面我们将总结 Navicat8 的一些实用技巧和注意事项,以帮助读者更好地使用该工具。 一、...
支持新注册提交、个人信息查看和修改,管理员对全局数据的查看、删除和修改,批量导出xls汇总表; 编码支持gb2312/gbk和utf8,如果是utf8导出xls需要转换才可以被excel2003正常打开; 找了一大圈包括国外的网站,都...
9. 数据导出:完成分析后,你可以选择将结果重新导入数据库,或者导出为其他格式如PDF、CSV,便于分享和打印。 通过上述方法,Excel不仅可以作为数据库数据的临时存储和处理工具,还可以成为数据分析师的得力助手,...
- **MySQL Workbench**:是设计和管理数据库的高级工具,支持EER图表,数据库建模,以及导入导出SQL脚本。 2. **MySQL Query Browser**: 具有直观的Web浏览器样式界面,允许用户自定义工具栏,拥有查询历史记录...