- 使用mongoDB必须要知道的备份和恢复数据库的命令 01-08
- mongodb3.6.0-集群分片-安装配置-基于c 01-08
- Mongodb导入json数据 01-08
- Redis在LM云化产品中运用 01-08
- MySQL触发器的简单操作 01-08
- 非常重要的一些SQL语句(一) 01-08
- MySQL 优化实施方案(简版) 01-08
- 阿里500k程序员:教你在10分钟搭建MySQL B 01-08
- 今天说说关系型数据库MySQL 01-08
- MySQL 日期操作分析 01-08
使用mongoDB必须要知道的备份和恢复数据库的命令
发布者: superzhang | 发布时间:2018-01-081.进入到mongo软件安装bin目录 即包含.exe文件的文件夹
2.备份
mongodump -h 192.168.88.88 -d cmlib -o D:\MongoDB\dataBak\88
-h mongo安装的ip
-d 要备份的数据库名称
-o 备份路径 没有的话会自动创建
3.恢复(导入)
全部恢复:mongorestore -h 192.168.88.88 -d dris D:\MongoDB\dataBak\88\cmlib 导出所有的数据表到dris中
部分恢复:mongorestore -h 192.168.88.88 -d dris D:\MongoDB\dataBak\88\cmlib\dris_digital.bson 导出数据表dris_digital到dris中
-h mongo安装的ip
-d 要恢复的数据库名称
D:\MongoDB\dataBak\88\cmlib 要恢复的数据所在路径
4.使用db.copyDatabase(fromdb,todb,hostname,[username,password])复制数据库
fromdb 源数据库
todb 目标数据库
<mongodb3.6.0-集群分片-安装配置-基于centos6.8
发布者: superzhang | 发布时间:2018-01-08规划:3台服务器IP为192.168.88.151、192.168.88.152、192.168.88.153
configserver、mongos server、shard将分别配置在3台服务器上
1:在192.168.88.151/152/153上安装mongodb,内容不在详细描述,请参考上篇的单机版安装,此处直接给命令
mkdir /apps
tar zxvf /opt/soft/jdk-8u144-linux-x64.tar.gz -C /apps/
编辑/etc/profile文件,文件最后新增内容如下:
---------------------------------------------------------------
export JAVA_HOME=/apps/jdk1.8.0_144
export CLASSPATH=.:$CLASSPATH:$JAVA
Mongodb导入json数据
发布者: superzhang | 发布时间:2018-01-08Mongodb导入json数据
1、在命令行打开mongo
2、创建新的collection
show bds
use ceshi
show tables
db.createCollection('item_infoX')
3、在命令行打开Mongod
4、导入json数据
mongoimport -d database_name -c collection_name path/file_name.json
Mongodb的collection的备份
show bds
use ceshi
show tables
db.createCollection('item_infoY')
db.item_infoX.copyTo('item_infoY')
Redis在LM云化产品中运用
发布者: superzhang | 发布时间:2018-01-08利用Redis数据的持久化方式,解决了历史版本数据重启后丢失的问题。
利用Redis自身的主备机制实现了节点内的数据容灾。
节点故障发生后,FTP获取另一节点Redis持久化文件到本地进行全量数据恢复,实现数据节点间的数据容灾。
基于Redis的高性能,单节点完全支撑全量业务、全量数据,通过同步程序保持节点间数据一致性,解决了历史版本数据分片的问题。
redis测试
在测试环境中的结果为:写入速度超过30000/s,写入约5000万条数据,rdb文件约为11GB,重启加载时间约为3分钟,主备切换时间约5分多钟。
业务测试
全业务测试结果如下,测试结果为单机测试:
MySQL触发器的简单操作
发布者: superzhang | 发布时间:2018-01-08触发器是MySQL的数据库对象之一,该对象与编程语言中的函数非常类似,都需要声明、执行等。但触发器的执行不是有程序调用的,也不是有手动启动的,而是有事件来触发、激活从而实现执行。
1、为什么要用触发器呢?
先看两个实例:
*在学生表中,有用字段学生名字,字段学生总数,每当添加一条关于学生记录时,协商的总数就必须同时改变。
*在客户信息表中,有字段客户名字,字段客户电话和字段客户地址缩写,每当添加一条客户记录时,都需要检查客户电话号码是否正确,客户地址缩写是否正确。
上述实例,业务逻辑不同,但有共同之处,即在表发生更改时,自动进行一些处理。这时就可以使用触发器数据库对象,例如第一个实例,可以创建一个触发器,在添加一条记录时,就执行一次计算学生总数的操作,这样就可以保证每次添加后数据一致。
MySQL软件在触发如下语句时,就会自动执行所设置的操作:
*DELETE 语句。
*INSERT 语句。
*UPDATE 语句。
其他SQL语句在不会触发。
2、创建触发器
在MySQL中,创建触发器的SQL语句如下:
create trigger trigger_name BEFORE|AFTER trigger_EVENT ON TA
非常重要的一些SQL语句(一)
发布者: superzhang | 发布时间:2018-01-08罗列一些非常重要的SQL语句,供需要的时候查询使用:
1.你可以随时使用DESCRIBE查询表的结构,例如你忘记表中的列的名称或类型时,使用如:DESCRIBE table_a;
2.要想将文本文件text.txt(该文件包含了表的插入数据信息,每行包含一个记录,用定位符(tab)把值分开,并且以CREATE TABLE语句中列出的列次序给出。)装载到table_a表中,使用这个命令:
mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE table_a;如果用Windows中的编辑器(使用\r\n做为行的结束符)创建文件,应使用:
mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE table_a-> LINES TERMINATED BY '\r\n';3.增加关键字DISTINCT可以检索出每个唯一的输出记录,避免结果重复
MySQL 优化实施方案(简版)
发布者: superzhang | 发布时间:2018-01-081 前言
在进行MySQL的优化之前必须要了解的就是MySQL的查询过程,很多的查询优化工作实际上就是遵循一些原则让MySQL的优化器能够按照预想的合理方式运行而已。
MySQL查询过程
2 优化的哲学 (优化有风险,涉足需谨慎)2.1 优化可能带来的问题
优化不总是对一个单纯的环境进行,还很可能是一个复杂的已投产的系统。
优化手段本来就有很大的风险,只不过你没能力意识到和预见到!
任何的技术可以解决一个问题,但必然存在带来一个问题的风险!
对于优化来说解决问题而带来的问题,控制在可接受的范围内才是有成果。
保持现状或出现更差的情况都是失败!
2.2 优化的需求
稳定性和业务可持续性,通常比性能更重要!
优化不可避免涉及到变更,变更就有风险!
优化使性能变好,维持和变差是等概率事件!
切记优化,应该是各部门协同,共同参与的
阿里500k程序员:教你在10分钟搭建MySQL Binlog分析+可视化方案
发布者: superzhang | 发布时间:2018-01-08日志服务 最近在原有30+种数据采集渠道 基础上,新增MySQL Binlog、MySQL select等数据库方案,仍然主打快捷、实时、稳定、所见即所得的特点。我自己是名大数据程序员,建了一个大数据资源共享群593188212 每天分享大数据学习资料和学习方法,最新资料已经放在群里,以下我们以用户登录数据库作为案例。公司内非常多的人员依赖于用户登录数据以及其衍生出来的相关数据:
老板要看大屏,每天UV、PV增长在哪里?
安全要监控登录是否异常,现在用户账户是否遭到集体攻击?
客户小二接到用户反馈,如何实时查询用户登录信息?
今天说说关系型数据库MySQL
发布者: superzhang | 发布时间:2018-01-08关系型数据库有很多个,MySQL只是其中的一个。
关于安装也有很多方式:比如 yum安装 二进制安装 源码安装等等。
比较常用的就这三种:yum安装,二进制安装,源码安装。
本次以yum安装为例
系统采用:
[root@kibana ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1611 (Core)
由于在7系列上,MySQL逐渐被mariadb代替,先进行卸载mariadb
[root@kibana ~]# yum list installed | grep maria
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
mariadb-libs.x86_64 1:5.5.52-1.el7 @base
[root@kib
MySQL 日期操作分析
发布者: superzhang | 发布时间:2018-01-08在进行日期操作之前,首先需要创建一个test表,在这不再详解,请查看小编上一篇文章。
日期操作如下:
1、获得 2018-01-08 日的前7天的日期:
-- SELECT DATE_SUB('2018-01-08 11:40:02',INTERVAL 7 day) AS created--2018-01-01 11:40:02
-- SELECT * FROM tb_test WHERE 1=1 AND DATE_FORMAT(created,'%Y-%m-%d') = (SELECT DATE_FORMAT(DATE_SUB('2017-11-09',INTERVAL 7 DAY),'%Y-%m-%d') AS created)
-- SELECT * FROM tb_test WHERE 1=1 AND created = (SELECT DATE_SUB('2017-10-01 11:40:02',INTERVAL 7 DAY) AS created)
