01 2019 档案
摘要:一、Centos7的base源配置阿里云的yum源: 1、备份旧的yum源目录下的所有文件 2、下载base文件 3、清空缓存 4、构建新的缓存 5、查看基本yum源 二、配置阿里云的epel源 1、下载阿里云的epel源。我们到官网:http://mirrors.aliyun.com 2、开始备份
阅读全文
摘要:1、logstash过滤器插件filter 1.1、grok正则捕获 grok的语法规则是: “语法”指的是匹配的模式。例如使用NUMBER模式可以匹配出数字,IP模式则会匹配出127.0.0.1这样的IP地址。 例如: 我们的试验数据是: 1)我们举个例子来讲解过滤IP 现在启动一下: 2)举个例
阅读全文
摘要:Logstash最强大的功能在于丰富的过滤器插件。此过滤器提供的并不单单是过滤的功能,还可以对进入过滤器的原始数据进行复杂的逻辑处理。甚至添加独特的事件到后续流程中。 1、logstash基本语法组成 logstash主要由三部分组成:input、filter、output。而filter就是过滤器
阅读全文
摘要:logstash是怎么工作的呢? Logstash是一个开源的、服务端的数据处理pipeline(管道),它可以接收多个源的数据、然后对它们进行转换、最终将它们发送到指定类型的目的地。Logstash是通过插件机制实现各种功能的,读者可以在https://github.com/logstash-pl
阅读全文
摘要:今天安装greenplus数据库,需要调试一个核心文件/etc/sysctl.conf文件,结果导致系统异常宕机,出现的问题就是使用任何命令都不能输出正确的结果,只有这个显示: 不知道是什么原因,ls命令都不能使用。后来就去网上找一些答案: 最后终于解决了
阅读全文
摘要:Mysql与tidb测试数据为8000万行。 1、修改一个字段的列名,比如将“ctime”修改为“cctime”。 Tidb测试: MySQL测试: 2、同一属性之间切换,即修改一个字段的属性大小。比如将int类型修改为bigint类型 Tidb: Mysql: MySQL是创建临时表的方式来加字段
阅读全文
摘要:一、MySQL中能够使用索引的典型场景 1、匹配全值。对索引中的列都有等值匹配的条件。即使是在and中,and前后的列都有索引并进行等值匹配。 2、匹配值的范围查询,对索引的值能够进行范围查找。 3、匹配最左列前缀,仅仅使用索引中的最左边列进行查找。这个要考虑组合索引了。 4、仅仅对索引进行查询,当
阅读全文
摘要:获得访问前10位的IP地址: 第二种方法: 这个例子是我加上了if判断,只有连接数大于5的时候,才会被执行 此外还有一点需要注意:sort中有个-n参数表示以数字进行排序,默认是以每行的第一字段的数值来进行排序的。 也可以格式化显示的整齐一点:
阅读全文
摘要:之前我们讲过如何开启慢查询日志,这个日志的最大作用就是我们通过设定超时阈值,在执行SQL语句中的消耗时间大于这个阈值,将会被记录到慢查询日志里面。DBA通过这个慢查询日志定位到执行缓慢的sql语句,以便来进行优化。那我们今天就来学习一下如何分析抵消的SQL语句。 我们主要对三个列说明一下: sele
阅读全文
摘要:什么是安全模式 在mysql中,如果在update和delete没有加上where条件,数据将会全部修改。不只是初识mysql的开发者会遇到这个问题,工作有一定经验的工程师难免也会忘记写入where条件。为了避免失误造成的数据全部修改和删除,可开启mysql的安全模式。 安全模式的开启: 安全模式的
阅读全文
摘要:mysqld_safe是服务端工具,用于启动mysqld,并且是mysqld的守护进程,mysqld_safe加&在后台运行$BASEDIR/bin/mysqld_safe & 优点就是:mysqld_safe是mysqld的守护进程,所以mysqld_safe脚本会在启动MySQL服务器端后对其进
阅读全文
摘要:什么是死锁?锁等待?如何优化这类问题?通过数据库哪些表可以监控? 死锁是指两个或多个事务在同一资源上互相占用,并请求加锁时,而导致的恶性循环现象。当多个事务以不同顺序试图加锁同一资源时,就会产生死锁。 锁等待:mysql数据库中,不同session在更新同行数据中,会出现锁等待 重要的三张锁的监控表
阅读全文
摘要:如何优化一条有问题的sql语句? 针对sql语句的优化。我们可以从如下几个角度去分析 回归到表的设计层面,数据类型选择是否合理 大表碎片的整理是否完善 表的统计信息,是不是准确的 审查表的执行计划,判断字段上面有没有合适的索引 针对索引的选择性,建立合适的索引(就又涉及到大表DDL的操作问题) 我们
阅读全文
摘要:为什么要为innodb表设置自增列做主键? 1.使用自增列做主键,写入顺序是自增的,和B+数叶子节点分裂顺序一致 2.表不指定自增列做主键,同时也没有可以被选为主键的唯一索引,InnoDB就会选择内置的rowid作为主键,写入顺序和rowid增长顺序一致 所以InnoDB表的数据写入顺序能和B+树索
阅读全文
摘要:在MySQL命令行中查看慢查询日志是否打开了: 从上面可以看出没有打开慢查询日志的功能,现在我们打开一下,修改配置文件即可,修改后重启服务器。慢查询还有一个值比较重要,就是知道慢查询的时间: 现在修改为两秒: 现在我们执行一个超过2秒的命令,看看效果: 现在我们查看一下慢查询日志;
阅读全文
摘要:服务器负载过高或者网页打开缓慢,简单说说你的优化思路 ? 首先我们要发现问题的过程,通过操作系统,数据库,程序设计,硬件角度四个维度找到问题所在 找到瓶颈点的位置 制定好优化方案,形成处理问题的体系 体系制定好之后,在测试环境进行优化方案的测试 测试环境如果优化效果很好,再实施到生产环境 做好处理问
阅读全文
摘要:MySQL是我们日常生活中常见的数据库,他的innodb存储引擎尤为常见,在事务方面使用的是扁平事务,即要么都执行,要么都回滚。而tidb数据库则使用的是分布式事务。两者都能保证数据的高一致性,但是在实现方式上是不一样的。 我们先来看看MySQL的事务机制,采用redo log机制来保证事务更新的一
阅读全文
摘要:如果生产环境中磁盘使用率突然升高,却不知道因为哪个应用程序导致的,这个时候我们可以使用pidstat命令来查看,比如 这个命令是很强大的,其中-d参数表示查看的是磁盘的使用情况,这个跟vmstat命令的区别就是我们查看磁盘IO升高是由哪些进程导致的,比如上面的这个就是如此。定位到了进程,然后就可以抓
阅读全文
摘要:之前将一块硬盘挂载到某个目录下,但是现在我想卸载掉这块硬盘,无论如何都umount不了,有些同学可能说需要加上 -f 参数强制卸载,理论上是可以的,但是在我这里依然不起作用,比如: 我是把一块2T的硬盘挂载到/data2目录下了,可是现在就是卸载不了,说是设备忙,仔细分析一下可以得出应该是某些应用程
阅读全文
摘要:今天启动集群tidb时出现一个错误,是某个tikv节点报错:node_exporter-9100.service failed 一个节点的问题会导致整个集群启动失败。去此节点下的日志文件中查找,发现没有什么报错原因。无奈此时只能去系统日志中查看发生了什么问题 果然发现了问题 从日志中我们发现了问题所
阅读全文
摘要:在实验中logstash是作为日志过滤器的作用,日志收集使用的则是filebeat组件。redis作为缓存器,logstash从redis中拉取数据进行过滤并传给elasticsearch组件。 但是logstash总是启动失败,还没有报错信息,因此追查起来异常艰难。 就像上面的这个样子,什么也看不
阅读全文
摘要:这两天在搞elk的时候,filebeat中指定输出日志至Broker(此处Broker采用redis作为缓存),但是redis中却没有内容,所以就开始排查来 filebeat采用RPM安装的方式来的。 1、首先是检查filebeat的配置文件是否有问题: 注意:这个配置文件的这个红色方框中的内容是我
阅读全文
摘要:1、首先是使用who命令查看当前有多少个终端登陆了Linux系统 2、接下来查看自己的当前终端是多少 3、可以看到自己的终端名称是/dev/pts/1。现在我们要杀死pts/2这个用户终端,先取出这个终端的进程号 4、我们看到进程号是9260,现在把它kill掉 当我们kill掉的时候,可以看到已经
阅读全文
摘要:今天在安装filebeat的时候,出现了关于redis报错的问题,所以来总结一下: 报错信息是: 大概意思就是说redis工作于保护模式下,不可用。redis没有密码认证,不安全因此也不可用等信息。 后来在网上搜寻答案,查到了一些方法并且最后也解决了因此总结一下: 1、保护模式如何解除? 修改red
阅读全文
摘要:今天我们来安装一下elasticsearch,我们采用RPM包安装的方式来,版本为6.5.4。系统为centos7.5版本。 1、首先设置系统环境 1)编辑/etc/sysctl.conf文件添加下面一行内容 这个参数会影响java线程数量,用于限制一个进程可以拥有的虚拟内存区域的大小。系统默认是6
阅读全文
摘要:安装elasticsearch报错如下: 所以就去网上查找资料,发现都不是适应自己的环境。最后在官网找到了方法: 不过先跟大家声明一点就是:环境不一样解决的方法也不一样,我这里是Centos7.5版本的系统,所有的服务都由systemd来管理。elasticsearch是6.5.4版本,使用RPM包
阅读全文
摘要:在以RPM包安装elasticsearch过程中出现报错JAVA环境的问题: 也就是说就算是你设置好JAVA全局环境变量后,elasticsearch启动的时候依然是在上面红色字体的PATH变量里面找java变量。这个不清楚究竟是什么原因。我们暂时把它当做是丢环境变量的原因吧。不过我们倒是有其他的解
阅读全文
摘要:之前一直忽视了MySQL的权限这一块的内容,以为一般般的知识点,随时用随时学就好了,导致自己这方面稍微有点不太明白的地方,总是踩坑,所以后来就总结一下: 1、MySQL权限系统的工作原理 注意两点: 1、MySQL通过IP地址和用户名联合进行确认的,同样的一个用户名如果来自不同的IP地址,MySQL
阅读全文
摘要:pt-heartbeat工作原理: 1,在主库上的某个数据库A中创建一张heartbeat表,按照一定的时间频率更新该表的字段(把时间更新进去)。 2,从主库连接到从上的这个数据库A中检查复制的时间记录,和从库的当前系统时间进行比较,得出时间的差异。 使用方法: 在主库上执行: 这里--databa
阅读全文
摘要:今天主从复制遇到一个问题,主库上插入了几百行万数据,后来又删除了这些数据,原因就是主库删除的表从库中不存在,导致从库在遇到删除不存在表的错误无法继续同步。 解决的步骤就是:我们通过设置参数来跳过这个错误。你需要从上面来确定last error这个值, 1)在/etc/my.cnf的[mysqld]下
阅读全文
摘要:netstat命令 参数解释: -tun:-tu是显示tcp和udp连接,n是以IP地址显示cut -d:-f1:cut是一个选择性显示一行的内容命令,-d指定:为分隔符,-f1显示分隔符后的第一个字段。uniq -c:报告或删除文中的重复行,-c在输出行前面加上出现的次数sort -n:根据不同类
阅读全文
摘要:1、事务的支持不同(innodb支持事务,myisam不支持事务) 2、锁粒度(innodb行锁应用,myisam表锁) 3、存储空间(innodb既缓存索引文件又缓存数据文件,myisam只能缓存索引文件) 4、存储结构 (myisam:数据文件的扩展名为.MYD myData ,索引文件的扩展名是.MYI myIndex) (innodb:所有的表都保存在同...
阅读全文
摘要:1、max_connections 这个参数可提高并发连接数,即允许连接到MySQL数据库的最大数量。 如果实验MySQL过程中遇到too many connections等问题,可提高这个值,此外我们还可以查看”connection_errors_max_connections“状态变量值不为0,
阅读全文
摘要:对MySQL来说,操作系统层面的优化也可以值得考虑一下:就是swappiness。 swappiness的大小主要对如何使用swap分区有着密切的联系。 来看一下: 这个数值有两个极限值:一个为0,另一个为100 0代表:最大限度地使用物理内存,然后才是swap分区,这种行为有可能导致系统内存溢出产
阅读全文
摘要:突然接到报警显示MySQL主从之间延迟过大,随后尽快到集群上面看看,进行排查。 首先我们查看延迟是由什么造成的,排查一遍过后发现不是网卡和从库机器的负载,那就要从其他地方来排除了 查看binlog日志发现binlog日志文件多并且还大: 由于binlog刷新过快,因此很快就写满一个文件,可以确定出来
阅读全文
摘要:日常工作中,我们需要经常进行一些监控和管理维护工作,以便能及时发现一些复制中的问题,并尽快解决,以此来保证复制能够正常工作 1、查看从库状态 上面所有的信息中,我们只需要关注上面背景为蓝色的两行信息,即“SQL_IO_Running”和"Slave_SQL_Running"这两个状态是否为“YES”
阅读全文
摘要:制作本地yum源有两种方式,第一种是使用光盘镜像,然后在本地进行安装。第二种是我们自己创建一个本地yum仓库,然后使用file的形式来向本地提供yum repo(也可以使用http的方式向外部提供,我们这里就自己给自己创建yum仓库) 1、把从网上下载的rpm包放在本地的某个文件夹里面 我们可以这样
阅读全文
摘要:我们的系统平台是在centos7.5的环境下安装httpd2.4版本的软件,2.4版本的软件有一个特征就是需要安装arp包以及arp-util包才可以。 1、首先是下载httpd2.4版本的包,以及安装开发环境,这里开发环境直接使用组安装“Development tools”即可,(注意centos
阅读全文
摘要:这两天接到任务说是要进行测试缩减机器给集群带来的负面效果有哪些。 然后我就按照官方的教程将机器进行了缩减,主要是缩减tikv节点 我们先来看看官方的文章是怎么写的: 步骤都没有什么问题,就是进行到第二步的时候,一定要等到节点的状态变成“Tombstone”才可以正常下线。但在刚开始的时候,他的状态一
阅读全文
摘要:我们知道生产环境中经常会遇到MySQL主从延迟问题,从原理上也能看出主库的事务提交是并发模式,而从库只有一个SQL线程负责解析,所以本身上就可能存在延迟。 延迟的主要原因在于: 1、从库的配置往往没有主库的配置高2、主库支持并发写入,而5.7之前的版本上从库只有单线程SQL来完成任务。 3、MySQ
阅读全文
摘要:CIDR概述 英文:Classless Inter-Domain Routing,中文是:无分类域间路由选择。一般叫做无分类编址。 设计目的:解决路由表项目过多过大的问题。 表示法:{<网络前缀>,<主机号>} / 网络前缀所占位数 CIDR表示法给出任何一个IP地址,就相当于给出了一个CIDR地址
阅读全文
摘要:ss命令 ss是Socket Statistics的缩写。顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效例如查看22端口状态 : ss命令比netstat命令
阅读全文
摘要:MySQL的复制参数除了我们之前搭建主从时遇到的那几个之外,还有以下两个: 1、log-slave-updates 这个参数用来配置从库上是否启动了二进制日志的功能,默认是不开启的,如果开启了那么从库上的更新操作将会被记录到二进制日志中。 不过在级联复制的架构中,比如某个从库A也要作为其他服务器的主
阅读全文
摘要:在MySQL5.5之前的版本中,MySQL的复制是异步复制,主库和从库的数据之间存在一定的延迟,比如网络故障等各种原因,这样子容易存在隐患就是:当在主库写入一个事务成功后并提交了,但是由于从库延迟没有及时得到主库推送的Binlog日志时,主库突然宕机了,那么此时从库就可能损失这个事务,从而造成主从不
阅读全文
摘要:二进制日志文件Binlog的格式主要有三种: 1、Statement:基于SQL语句级别的Binlog,每条修改数据的SQL都会保存到Binlog里面。 2、ROW:基于行级别,每一行数据的变化都会记录到Binlog里面,但是并不记住原始SQL语句,因此它会记录的非常详细,日志量也比statemen
阅读全文
摘要:MySQL主从复制的原理: 1、首先,MySQL主库在事务提交时会把数据变更作为时间events记录在二进制日志文件binlog中;MySQL主库上的sync_binlog参数控制Binlog日志以什么样的方式刷新到磁盘上。 2、主库推送二进制日志文件Binlog中的事件到从库的中继日志Relay
阅读全文
摘要:生产环境下,如何缩减机器? 1、首先是检查出来那个tikv节点需要缩减 我想缩减id为7的机器: 2、找出id号后开始缩减, 3、检测该机器是否已经真正下线, 注意:此处显示为“Offline”并不表示真正的下线,下线需要几分钟,因此我们过10分钟再来查看一下 4、再次检查机器 注意:只有当此处变成
阅读全文
摘要:这是Tidb数据库事务提交数量达到上限的一种报错:因为tidb是分布式的数据库,tikv使用了底层的强一致性协议。这是分布式数据库必然遇到的一个问题,我们可以调整这个值:在tidb的配置文件里面“stmt-count-limit”,默认是5000,可以调整更高,当然,很有可能我们还会遇到“trans
阅读全文