网站建设资讯

NEWS

网站建设资讯

mysql怎么增量导数据 mysql增量导入数据

win7系统下mysql如何增量备份

增量备份其实就是开启二进制日志,保留每个操作的sql语句,然后定时备份那个日志文件,并进行刷新以便生成新的日志文件

创新互联公司主营紫阳网站建设的网络公司,主营网站建设方案,app软件定制开发,紫阳h5成都小程序开发搭建,紫阳网站营销推广欢迎紫阳等地区企业咨询

有什么简单的 mysql 增量备份方案

1.在 /etc/my.cnf 下面设置开启bin-log

编辑

vim /etc/my.cnf

[mysqld]

binlog_format = MIXED //binlog日志格式

log_bin =目录/mysql-bin.log //binlog日志名

expire_logs_days = 7 //binlog过期清理时间

#max_binlog_size 100m //binlog每个日志文件大小 最大值和默认是1个G

binlog-do-db=game #需要备份的数据库名,如果备份多个数据库,重复设置这个选项即可

binlog-do-db=platform #

#binlog-ignore-db=不需要备份的数据库,如果备份多个数据库,重复设置这个选项即可

2.创建远程登陆数据库帐号

grant all privileges on game.* to 'jack'@'192.168.10.56' identified by 'admin'

grant all privileges on platform.* to 'jack'@'192.168.10.56' identified by 'admin'

3.将服务器上的数据,导入一份进远程服务器中

mysqldump -ujack -padmin -h192.168.10.38 备份数据库地址(/home/mysql/db/mysql.sql);

4.写Linux 计划任务:

vim /etc/crontab

在底部加入

0 3 * * * root sh /home/wwwroot/sh/mysqlbackup.sh #每天3点以root帐号的权限执行目录下的sh

重启服务

mysql数据增量同步到hive

同步业务库的数据到ODS层,之前一直是全量同步数据,主要考虑IO太大,耗时太长,重复拉取同样的数据,现在考虑增量同步的方式实现,同时对库表数据做分区。

增量同步主要分为两步,第一步,存量数据一次性同步;第二步,在存量数据的基础之上,做增量;后期的每一次同步都是增量同步。以下是具体同步方案:

用Sqoop同步表中全部数据到Hive表中;

a.根据hive中最大更新时间,用Sqoop提取更新时间为这个时间之后的增量数据;

1)获取表的所有列,把datetime和timestamp类型,统一在java中映射成TIMESTAMP类型,脚本如下:

2) 用sqoop import拉取数据,脚本如下:

1)创建增量同步的sqoop job,脚本如下:

a、从hive中获取表的最大更新时间

b、以上面获取的最大更新时间,作为起点,创建sqoop job,脚本如下:

c、创建sqoop job之后,就是执行job了,脚本如下:

具体参数详解,参考:

如何向mysql数据库中导入大批量数据?

导入时把生成索引给关掉,应该能快一点.

不要一边导入一边建立索引.

8G数据,应该也不那么慢了.

把sql语句文件读取出一部分看看,建表语句中,应当有建立索引的部分,删掉它!

只做建表和插入数据两件事.

还有,看看数据库有没有外键?

尽量在插入数据过程中去掉外键关联.

等数据插入完成之后再加索引和外键,应该能提高很多读写性能.

截取一部分数据,例如100Mb.

插入一下试试,可以预先对整体时间有一个预期.

还有,真的要弄台好点的电脑,或者去借一台,等把数据导入完成之后,把msyql的库文件直接复制出来放自己机器上跑就好.

emm..

再追加点信息,要先搞明白,sql原文件里,到底都执行了哪几类操作?

可能需要你用c之类写点小工具,或者别的什么语言,分块读取并处理文件.

8G..

嗯,还好.

现在内存都够大,否则你都没法直接用软件打开了.

只有8G也可以直接用软件打开看.

停掉索引真的可以大幅度加快插入数据的速度.

建议试一试!

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

大SQL文件导入数据库的方法:

1、点击"开始"-"运行",输入cmd,然后回车进入到DOS界面。

2、进入MYSQL安装目录。

3、假如MYSQL安装在D盘,SQL文件也在D盘,加入命名为demo.sql,操作的方法是:

输入"D:",回车即进入到D盘了,然后输入"cd mysql/bin"并回车

4、再输入"mysql -u root -p database d:/demo.sql",回车显示要输入密码

5、如果MYSQL数据库的密码为空则不输入任何东西回车,没有出现错误说明导入成功。

注意:上面的database是要导入的数据库名。


当前标题:mysql怎么增量导数据 mysql增量导入数据
文章源于:http://cdweb.net/article/dooocsc.html