自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(492)
  • 收藏
  • 关注

原创 远程连接mysql很慢

在进行 ping和route后发现网络通信都是正常的,而且在mysql机器上进行本地连接发现是很快的,所以网络问题基本上被排除了。以前也遇到过一次这样的问题,可后来就不知怎么突然好了,这次又遭遇这样的问题,所以想看看是不是mysql的配置问题。在查询mysql相关文档和网络搜索后,发现了一个配置似乎可以解决这样的问题,就是在mysql的配置文件中增加如下配置参数:[mysqld]ski

2016-09-26 14:15:34 451

原创 MySQL server has gone away 或 lost connection to MySQL server during query

有时在使用mysql的时候会接收到“MySQL server has gone away”错误,这个错误会有以下 原因:1)、mysql数据库挂了或者关闭了之前遇到PVD那边有脚本不停的重启MySQL导致查询时会收到这样的错误。2)、网络不稳定3)、等待超时Interactive_timeout:交互式客户端在断开连接之前等待活动多长时间,即服务器等待多久来读取一条命令

2016-09-26 13:58:36 3969

原创 tokudb磁盘满问题 & tokudb_fs_reserve_percent 参数

当你使用tokudb引擎的时候,你会发现在磁盘还没有完全使用完的时候,就无法继续插入数据了,会报存储空间满相关错误。这个时候你发现数据目录可能还没有满,让人会感觉很奇怪。 其实这个和tokudb这个引擎相关了,这个是因为tokudb会预留tokudb_fs_reserve_percent比例的存储空间给数据目录。官方文档关于tokudb_fs_reserve_percent

2016-09-26 10:43:02 866

原创 主从延时(二)

对于Seconds_Behind_Master,很多人误以为是从库落后主库多少秒,从Seconds_Behind_Master单词的字面上看也是如此。但是看看Seconds_Behind_Master的原理就明白了,其延迟是通过备库当前的时间戳减去SQL线程正在执行的SQL语句的时间戳计算出来的。可以进行下面两个测试:测试一:把备库当前时间进行调整。测试二:断开备库的网络连

2016-09-25 12:42:34 589

转载 connect_timeout interactive_timeout net_read_timeout net_write_timeout wait_timeout

mysql的timeout有多少种,之间的区别时什么?本文从实测和代码分析的角度验证了不同的超时参数的作用。接触网络编程我们不得不提的就是超时,TCP建立连接的超时,数据报文发送/接收超时等等,mysql在超时上也做足了功夫。123456Variable_name Default Valueconnect_timeout 5interactive_timeout 28800ne

2016-09-22 14:54:24 3245

转载 MySQL为什么要set names

大家都知道SET NAMES x相当于SET character_set_client = x;SET character_set_results = x;SET character_set_connection = x;以下从MySQL5.0官方文档上摘录了相关内容,并翻译,说明了相关系统变量的用处:What character set is the stat

2016-09-14 16:43:22 338

转载 MySQL乱码问题

目录Part 1 字符集和字符编码· 什么是字符集· 什么是字符编码· UTF-8和Unicode的关系· UTF-8编码简介· 为什么会出现乱码· 如何识别乱码的本来想要表达的文字· 常见问题处理之EmojiPart 2 MySQL乱码· MySQL出现乱码的原因· 如何避免乱码P

2016-09-14 09:55:19 662

转载 OLAP引擎——Kylin介绍

Kylin是ebay开发的一套OLAP系统,与Mondrian不同的是,它是一个MOLAP系统,主要用于支持大数据生态圈的数据分析业务,它主要是通过预计算的方式将用户设定的多维立方体缓存到HBase中(目前还仅支持hbase),这段时间对mondrian和kylin都进行了使用,发现这两个系统是时间和空间的一个权衡吧,mondrian是一个ROLAP系统,所有的查询可以通过实时的数据库查询完成,而

2016-09-13 15:17:11 627

转载 Kylin使用之创建Cube和高级设置

简介  Kylin作为一个OLAP引擎,需要Cube模型支撑,在我们的工作过程中,在和用户以及相关的开发人员、测试、产品等介绍Kylin的过程中,他们总是会对Cube的模型有一些疑惑,作为经常接触这个概念的我来说这是再明了不过的了,而他们还是会在我讲解多次之后表示还在云里雾里,所以就希望通过一篇关于Cube和Kylin创建Cube的过程来聊一下Cube是什么,以及Kylin的一些高级设置。

2016-09-13 14:59:46 1672

转载 ORACLE中的rollup、cube、grouping sets函数

Oracle的group by除了基本用法以外,还有3种扩展用法,分别是rollup、cube、grouping sets。1 rollup假设有一个表test,有A、B、C、D、E5列。如果使用group by rollup(A,B,C),首先会对(A、B、C)进行GROUP BY,然后对(A、B)进行GROUP BY,然后是(A)进行GROUP BY,最后对全表进行GROUP BY

2016-09-13 10:50:20 472

转载 hive功能 Cube, Rollup介绍

GROUPING SETSGROUPING SETS作为GROUP BY的子句,允许开发人员在GROUP BY语句后面指定多个统计选项,可以简单理解为多条group by语句通过union all把查询结果聚合起来结合起来,下面是几个实例可以帮助我们了解,以acorn_3g.test_xinyan_reg为例:[dp@YZSJHL19-87 xjob]$ hive -e

2016-09-13 10:31:43 6157

转载 ROLAP MOLAP HOLAP

1.ROLAPROLAP将分析用的多维数据存储在关系数据库中并根据应用的需要有选择的定义一批实视图作为表也存储在关系数据库中。不必要将每一个SQL查询都作为实视图保存,只定义那些应用频率比较高、计算工作量比较大的查询作为实视图。对每个针对OLAP服务器的查询,优先利用已经计算好的实视图来生成查询结果以提高查询效率。同时用作ROLAP存储器的RDBMS也针对OLAP作相应的优化,比如并行存储

2016-09-12 13:53:10 570

原创 360 hbase二级索引总结

1、查询  客户端并行的向表的所有region发一个请求,然后每个region在server端会对数据进行检索和查询以及数据获取并把最终结果返回给客户端。客户端获取到各个region上检索的结果之后,会对结果进行合并和排序。2、建索引  客户端把请求发给各个region,各个region根据索引说明构建好索引,并将索引存储进去。整体的过程都是分布式和并发式的构建。3、采

2016-09-07 18:45:22 3233

转载 360HBase二级索引方案学习总结

在今年的北京QCon大会上,360公司的系统部技术经理赵健博在演讲中公布了360公司的HBase二级索引方案,这一方案的提出将比华为HBase二级索引更好的解决了Hbase的多维实时查询问题。它的核心思想是保证了索引和数据在同一region上,减少了IO通信,提升了HBase的读性能,并且无非修改HBase源码,实现更加简单。360HBase二级索引公布的演讲视频:http://www.i

2016-09-06 19:40:50 992

转载 Linux NTP(二)

背景当服务器多了,时间准确与否,一致与否是个大问题。虽然这个问题总是被忽略,但是统一一致的时间是很有必要的。下面说一下在局域网内配置Linux时间服务器的方法。配置的环境及要求:1.假设在192.168.0.0网段内,要以IP为192.168.0.240的Linux机器时间服务器。2.192.168.0.240服务器能上外网,能与比较权威的公网时间服务器同步3.同网段内

2016-09-01 15:25:42 318

转载 Linux NTP (一)

Network Time Protocol (NTP) 也是RHCE新增的考试要求. 学习的时候也顺便复习了一下如何设置Linux的时间,现在拿出来和大家分享设置NTP服务器不难但是NTP本身是一个很复杂的协议. 这里只是简要地介绍一下实践方法和上次一样,下面的实验都在RHEL5上运行 1. 时间和时区如果有人问你说现在几点? 你看了看表回答他说晚上8点了. 这

2016-09-01 15:01:36 334

原创 MySQL半同步+MHA+Keepalived部署指导

机器:IPOSMySQLMHA192.168.1.20CentOS6.5无mha-manager mha-node192.168.1.21CentOS6.5mysql-mastermha-node192.168.1.22CentOS6.5mysql-slavemha-node192.

2016-08-31 13:37:23 5063

原创 pt-online-schema-change

安装[root@slave159 opt]# wget percona.com/get/percona-toolkit.tar.gz[root@slave159 opt]# cd percona-toolkit-2.2.15/[root@slave159 percona-toolkit-2.2.15]# perl Makefile.PL[root@slave159 percona-

2016-08-30 18:01:33 651

原创 tokudb关于insert into ...select..锁的问题

我们现场人员执行了类似insert into t1 select * from t2;这样的语句,由于我们使用的是tokudb引擎,会对t2进行加锁,在这个语句执行的过程中实时入库数据无法进入t2。导致数据有丢失。下面来说说这个语句。对于insert into t1 select * from t2;这样的语句。不同的引擎锁的情况不一样。这里讨论下对于t2表锁的问题。(1)对于in

2016-08-24 10:22:20 854

原创 mysql实现oracle lag功能

create table test_table(id int,name varchar(30));insert into test_table select 1,'a1';insert into test_table select 2,'a2';insert into test_table select 3,'a3';insert into test_table select 4,'a4'

2016-08-23 18:33:29 957 1

原创 ORACLE分析函数 lag lead

Lag和Lead分析函数可以在同一次查询中取出同一字段的前N行的数据(Lag)和后N行的数据(Lead)作为独立的列。这种操作可以代替表的自联接,并且LAG和LEAD有更高的效率。语法:[sql] view plain copy/*语法*/  lag(exp_str,offset,defval) over()  Lead(ex

2016-08-23 16:51:31 337

原创 mysqld背后的杀手OOM

上周处理一个现场数据迁移,当时选择用开源的kettle工具做的,因为要做较多的字典值转换工作,为了省事所以选择的kettle。在公司测试好后,远程到现场迁移数据。发现迁移1个多小时后数据库就挂掉了。查看数据库日志,没用报什么错误和有用信息,mysqld进程直接就挂掉了,然后被守护进程拉起来了。日志如下:后来查看系统日志,发现是被OOM干掉的。为什么会

2016-08-22 15:43:23 718

转载 Linux下OOM Killer机制详解(二)

Linux 内核有个机制叫OOM killer(Out-Of-Memory killer),该机制会监控那些占用内存过大,尤其是瞬间很快消耗大量内存的进程,为了防止内存耗尽而内核会把该进程杀掉。典型的情况是:某天一台机器突然ssh远程登录不了,但能ping通,说明不是网络的故障,原因是sshd进程被OOM killer杀掉了(多次遇到这样的假死状况)。重启机器后查看系统日志/var/log/mes

2016-08-22 14:12:16 1396

转载 Linux下OOM Killer机制详解(一)

Linux下面有个特性叫OOM killer(Out Of Memory killer),这个东西会在系统内存耗尽的情况下跳出来,选择性的干掉一些进程以求释放一些内存。相信广大从事Linux服务端编程的农民工兄弟们或多或少遇到过(人在江湖漂,哪有不挨刀啊)。典型的情况是:某天机器突然登不上了,能ping通,但是ssh死活连不了。原因是sshd进程被OOM killer干掉了(泪流满面)。重启机器后

2016-08-22 14:03:26 849

转载 mysql安装及注意地方

mysql(Version: '5.6.24')下载地址 http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.24-linux-glibc2.5-x86_64.tar.gz 官方安装[mysql5.6版本]说明:  http://dev.mysql.com/doc/refman/5.6/en/binary-installat

2016-08-15 11:37:21 2537

转载 MYSQL优化实践

开源数据库MySQL比较容易碰到性能瓶颈,为此经常需要对MySQL数据库进行优化,而MySQL数据库优化需要运维DBA与相关开发共同参与,其中MySQL参数及服务器配置优化主要由运维DBA完成,开发则需要从数据类型优化,索引优化,SQL优化三个角度考虑MySQL数据库优化问题,本次分享将从开发角度,看如何实现MySQL数据库优化。本次分享大纲:一个例子

2016-08-12 09:23:19 1031

转载 GTID

GTID简介什么是GTIDGTID(Global Transaction ID)是对于一个已提交事务的编号,并且是一个全局唯一的编号。 GTID实际上是由UUID+TID组成的。其中UUID是一个MySQL实例的唯一标识。TID代表了该实例上已经提交的事务数量,并且随着事务提交单调递增。下面是一个GTID的具体形式3E11FA47-71CA-11E1-9E33-C80AA942

2016-08-11 16:26:12 501

转载 CAP理论

CAP理论在互联网界有着广泛的知名度,知识稍微宽泛一点的工程师都会把其作为衡量系统设计的准则。大家都非常清楚地理解了CAP:任何分布式系统在可用性、一致性、分区容错性方面,不能兼得,最多只能得其二,因此,任何分布式系统的设计只是在三者中的不同取舍而已。事实上,让人吃惊的是,CAP在国外的响力完全不如所想,相反还伴随着诸多的争论。下面我们系统地阐述一下CAP的来龙去脉。1.CAP的历史

2016-08-10 18:34:43 269

转载 MHA (二)

前提由于MHA不会自动创建主从环境,所以要手动去部署主从环境,也可以在现有主从环境部署MHA。所有slave不要设置为只读,同时也要打开binlog。如果master故障后要切换到指定的slave上,该指定的slave打开binlog,设置可读写,其它不用设置打开binlog或设置只读也可。具体以自身架构为准。架构系统环境

2016-08-10 13:19:03 539

转载 MHA (一)

1MHA简介MHA是由日本人youshimaton(原就职于DeNA,现就职于FaceBook)开发的比较成熟的MySQL高可用方案。MHA能够在30秒内实现故障切换,并能在故障切换中,最大可能的保证数据一致性。目前淘宝也正在开发相似产品TMHA,目前已支持一主一从。2MHA架构MHA由MHA Manager和MHA Node组成。如下图:

2016-08-10 13:13:46 595

原创 从零写一个分布式数据库

https://github.com/ngaut/builddatabase分布式数据库相关的一些概念。 教你从零写一个分布式数据库。

2016-08-09 09:37:56 1210

转载 mysqldump

参数参数说明--all-databases  , -A导出全部数据库。mysqldump  -uroot -p --all-databases--all-tablespaces  , -Y导出全部表空间。mysqldump  -uroot -p --all-databases --all-tablespaces--no-tablesp

2016-08-07 21:01:15 336 3

原创 skip_name_resolve

mysql接收到连接请求后,获得的是客户端的ip,为了更好的匹配mysql.user里的权限记录(某些是用hostname定义的)。如果mysql服务器设置了dns服务器,并且客户端ip在dns上并没有相应的hostname,那么这个过程很慢,导致连接等待。添加skip-name-resolve以后就跳过着一个过程了。

2016-08-07 16:41:04 708

原创 Mysql多实例安装

注意:5.7.6之后在第五步是不一样的,具体可以看5.7的官方文档中的安装。1.确保mysql软件已经安装在/mysql目录下(root用户操作)2.修改环境变量(root用户操作)修改/etc/profile文件,在文件末尾添加PATH=/mysql/bin:$PATHexport PATH关闭文件,运行下面的命令,让配置立即生效source /etc/p

2016-08-07 12:54:41 317

原创 MySQL修改root密码的多种方法

方法1: 用SET PASSWORD命令  mysql -u root  mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');方法2:用mysqladmin  mysqladmin -u root password "newpass"  如果root已经设置过密码,采用如下

2016-08-07 12:11:04 3005

转载 Elasticsearch 合理内存分配

Elasticsearch默认安装后设置的内存是1GB,对于任何一个业务部署来说,这个都太小了。如果你正在使用这些默认堆内存配置,你的集群配置可能有点问题。这里有两种方式修改Elasticsearch的堆内存(下面就说内存好了),最简单的一个方法就是指定ES_HEAP_SIZE环境变量。服务进程在启动时候会读取这个变量,并相应的设置堆的大小。举例,你可以用下面的命令设置它export ES

2016-07-21 09:50:55 8870

原创 为Elasticsearch安装中文分词IK

一、安装与配置1.从https://github.com/medcl/elasticsearch-analysis-ik下载elasticsearch-analysis-ik-master.zip2.解压elasticsearch-analysis-ik-master.zip   unzip elasticsearch-analysis-ik-master.zip3

2016-07-12 13:59:18 1472

转载 搜索引擎-倒排索引基础知识

1.单词——文档矩阵       单词-文档矩阵是表达两者之间所具有的一种包含关系的概念模型,图3-1展示了其含义。图3-1的每列代表一个文档,每行代表一个单词,打对勾的位置代表包含关系。                                                                                       

2016-07-12 09:41:52 418

转载 elasticsearch配置文件详解

elasticsearch的config文件夹里面有两个配置文件:elasticsearch.yml和logging.yml,第一个是es的基本配置文件,第二个是日志配置文件,es也是使用log4j来记录日志的,所以logging.yml里的设置按普通log4j配置文件来设置就行了。下面主要讲解下elasticsearch.yml这个文件中可配置的东西。cluster.name: elas

2016-07-11 18:39:30 560

转载 Java ConcurrentModificationException异常原因和解决方法

在前面一篇文章中提到,对Vector、ArrayList在迭代的时候如果同时对其进行修改就会抛出java.util.ConcurrentModificationException异常。下面我们就来讨论以下这个异常出现的原因以及解决办法。  以下是本文目录大纲:  一.ConcurrentModificationException异常出现的原因  二.在单线程环境下的解决办法

2016-07-08 11:40:03 321

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除