如何增量导入MYSQL数据库中的数据

如何增量导入MYSQL数据库中的数据,第1张

mysql数据库的导入,有两种方法:

1)

先导出数据库sql脚本,再导入;

2)

直接拷贝数据库目录和文件

在不同 *** 作系统或mysql版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。

所以一般推荐用sql脚本形式导入。下面分别介绍两种方法。

2.

方法一

sql脚本形式

*** 作步骤如下:

2.1.

导出sql脚本

在原数据库服务器上,可以用phpmyadmin工具,或者mysqldump命令行,导出sql脚本。

2.1.1

用phpmyadmin工具

导出选项中,选择导出“结构”和“数据”,不要添加“drop

database”和“drop

table”选项。

选中“另存为文件”选项,如果数据比较多,可以选中“gzipped”选项。

将导出的sql文件保存下来。

2.1.2

用mysqldump命令行

命令格式

mysqldump

-u用户名

-p

数据库名

>

数据库名.sql

范例:

mysqldump

-uroot

-p

abc

>

abc.sql

(导出数据库abc到abc.sql文件)

提示输入密码时,输入该数据库用户名的密码。

2.2.

创建空的数据库

通过主控界面/控制面板,创建一个数据库。假设数据库名为abc,数据库全权用户为abc_f。

2.3.

将sql脚本导入执行

同样是两种方法,一种用phpmyadmin(mysql数据库管理)工具,或者mysql命令行。

2.3.1

用phpmyadmin工具

从控制面板,选择创建的空数据库,点“管理”,进入管理工具页面。

在"sql"菜单中,浏览选择刚才导出的sql文件,点击“执行”以上载并执行。

注意:phpmyadmin对上载的文件大小有限制,php本身对上载文件大小也有限制,如果原始sql文件

比较大,可以先用gzip对它进行压缩,对于sql文件这样的文本文件,可获得1:5或更高的压缩率。

gzip使用方法:

#

gzip

xxxxx.sql

得到

xxxxx.sql.gz文件。

提示输入密码时,输入该数据库用户名的密码。

3

直接拷贝

如果数据库比较大,可以考虑用直接拷贝的方法,但不同版本和 *** 作系统之间可能不兼容,要慎用。

3.1

准备原始文件

用tar打包为一个文件

3.2

创建空数据库

3.3

解压

在临时目录中解压,如:

cd

/tmp

tar

zxf

mydb.tar.gz

3.4

拷贝

将解压后的数据库文件拷贝到相关目录

cd

mydb/

cp

*

/var/lib/mysql/mydb/

对于freebsd:

cp

*

/var/db/mysql/mydb/

3.5

权限设置

将拷贝过去的文件的属主改为mysql:mysql,权限改为660

chown

mysql:mysql

/var/lib/mysql/mydb/*

chmod

660

/var/lib/mysql/mydb/*

打字不易,如满意,望采纳。

CREATE DEFINER= XXXXXX @ % PROCEDURE PRO_taxpayer_invoice_statistical ()

BEGIN

DECLARE v_unifiedcredit_code VARCHAR(64)

DECLARE v_max_datedatetime

SELECT MAX(sii.created_on) INTO v_max_date

FROM sj_taxpayer_invoice_statistical_info sii

SELECT 1

END

1.如何实现mysql与elasticsearch的数据同步?

逐条转换为json显然不合适,需要借助第三方工具或者自己实现。核心功能点:同步增、删、改、查同步。

2、mysql与elasticsearch同步的方法有哪些?优缺点对比?

目前该领域比较牛的插件有:

1)、elasticsearch-jdbc,严格意义上它已经不是第三方插件。已经成为独立的第三方工具。https://github.com/jprante/elasticsearch-jdbc

2)、elasticsearch-river-MySQL插件 https://github.com/scharron/elasticsearch-river-mysql

3)、go-mysql-elasticsearch(国内作者siddontang) https://github.com/siddontang/go-mysql-elasticsearch

1-3同步工具/插件对比:

go-mysql-elasticsearch仍处理开发不稳定阶段。

为什么选择elasticsearch-jdbc而不是elasticsearch-river-mysql插件的原因?(参考:http://stackoverflow.com/questions/23658534/using-elasticsearch-river-mysql-to-stream-data-from-mysql-database-to-elasticsea)

1)通用性角度:elasticsearch-jdbc更通用,

2)版本更新角度:elasticsearch-jdbc GitHub活跃度很高,最新的版本2.3.3.02016年5月28日兼容Elasticsearch2.3.3版本。

而elasticsearch-river-mysql 2012年12月13日后便不再更新。

综上,选择elasticsearch-jdbc作为mysql同步Elasticsearch的工具理所当然。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8706560.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-20
下一篇 2023-04-20

发表评论

登录后才能评论

评论列表(0条)

保存