
Mysql
文章平均质量分 80
大象悠悠
这个作者很懒,什么都没留下…
展开
-
MySQL在远程访问时非常慢的解决skip-name-resolve
作为MySQL调优的一部分,很多人都推荐开启skip_name_resolve。这个参数是禁止域名解析的(当然,也包括主机名)。很多童鞋会好奇,这背后的原理是什么,什么情况下开启这个参数比较合适。基于以下原因,MySQL服务端会在内存中维护着一份host信息, 包括三部分:IP,主机名和错误信息。主要用于非本地TCP连接。1. 通过在第一次建立连接时缓存IP和host name的映射关系,同一主...转载 2018-06-27 21:40:53 · 19072 阅读 · 0 评论 -
OneProxy实现MySQL读写分离与负载均衡
简介Part1:写在最前 OneProxy平民软件完全自主开发的分布式数据访问层,帮助用户在MySQL/PostgreSQL集群上快速搭建支持分库分表的分布式数据库中间件,也是一款具有SQL白名单(防SQL注入)及IP白名单功能的SQL防火墙软件。采用与MySQL Proxy一致的反向协议输出模式,对应用非常简单和透明易用,让用户畏惧的数据库故障切换(Failover)、读写分...转载 2018-08-18 10:42:46 · 279 阅读 · 0 评论 -
OneProxy实现MySQL分库分表
简介Part1:写在最前 随着网站的壮大,MySQL数据库架构一般会经历一个过程:当我们数据量比较小的时候,一台单实例数据库足矣。等我们数据量增大的时候,我们会采用一主多从的数据库架构来降低我们的读写io。当我们某张业务表达到几百万上千万甚至上亿时,就应该去进行分表处理。本文演示OneProxy对数据库实现分表处理,对前端应用是透明的。 Part2:环境简介...转载 2018-08-18 10:40:15 · 1098 阅读 · 0 评论 -
数据仓库的未来 MariaDB ColumnStore
ariolumnStore简介Part1:写在最前MariaDB ColumnStore is the future of data warehousing. ColumnStore allows us to store more data and analyze it faster. Everyday, Pinger’s mobile applications process mil...转载 2018-08-18 10:36:02 · 2151 阅读 · 0 评论 -
MySQL关于aborted告警日志的分析
Part1:写在最前在MySQL的error log中,我们会经常性看到一些各类的Aborted connection错误,本文中会针对这类错误进行一个初步分析,并了解一个问题产生后的基本排查思路和方法。掌握这种方法是至关重要的,而不是出现问题了,去猜,去试。数据库出现问题的时候需要DBA在短时间内快速解决问题,因此一个好与坏的DBA,区别也在于此。 Part2:种类...转载 2018-08-18 10:30:03 · 12716 阅读 · 1 评论 -
MySQL危险而诡异的update操作和惊魂5分钟
Part1:写在最前上班正忙的不可开交呢,一个消息过来,得知研发人员误操作数据库了....不带where条件,整表更新Orz,还让不让人好好活了,心中一万只XXX啊~无奈,分清事情的轻重,优先处理这起事故。在简单沟通后,了解到事故的原因是研发人员使用update忘记带where条件。这本身没什么诡异的,诡异的是在决定要不要进行恢复的时候,笔者稍微犹豫了一下,因为看起来是不需要恢复的,那么具...转载 2018-08-18 10:25:19 · 537 阅读 · 0 评论 -
replace into和insert into on duplicate key 区别
replace的用法当不冲突时相当于insert,其余列默认值当key冲突时,自增列更新,replace冲突列,其余列默认值Com_replace会加1Innodb_rows_updated会加1Insert into …on duplicate key的用法不冲突时相当于insert,其余列默认值当与key冲突时,只update相应字段值。Com_insert会加1...转载 2018-08-18 10:17:27 · 1023 阅读 · 0 评论 -
揪出MySQL延迟上千秒的元凶
背景 Part1:写在最前MySQL的延迟告警想必大家一定不陌生,MySQL引起从库延迟的原因有很多,从硬件上讲可能是网卡,磁盘,内存达到瓶颈,从数据库层面来讲,可能是SQL效率低下,或者大批量写入引起的。本文的案例将剖析一个由binlog格式引发的延迟问题,看完本文,再遇到这类告警的时候,相信你可以瞬间定位到问题所在! Part2:重点参数分析 binlog_form...转载 2018-08-18 10:12:17 · 2160 阅读 · 0 评论 -
pt-archiver使用
pt-archiver使用pt-archiver工具其实就是用来清理,归档数据用的一.归档前的准备需要配置client字符集为utf-8,如果你用了utf-8的编码,防止归档数据为乱码[client]default-character-set=utf8二.使用场景1、清理线上过期数据2、清理过期数据,并把数据归档到本地归档表中,或者远端归档服务器3、两张表之间的数据不完全相...翻译 2018-08-18 10:03:34 · 2511 阅读 · 0 评论 -
揪出MySQL磁盘消耗迅猛的真凶
背景 Part1:写在最前当一张单表10亿数据量的表放在你面前,你将面临着什么? Part2:背景介绍为了提升数据库资源利用率,一个实例中,在不互相影响,保证业务高效的前提下,我们会将同一个大业务下的不同小业务放在一个实例中,我们的磁盘空间是2T,告警阈值为当磁盘剩余空间10%时发出短信告警。笔者接到某业务主库磁盘剩余空间告警的短信后,经过一番查探,发现从几天前开始,有一张...转载 2018-08-18 09:51:37 · 2065 阅读 · 0 评论 -
永远不要在MySQL中使用utf8,改用utf8mb4
最近我遇到了一个bug,我试着通过Rails在以“utf8”编码的MariaDB中保存一个UTF-8字符串,然后出现了一个离奇的错误:Incorrect string value: ‘\xF0\x9F\x98\x83 <…’ for column ‘summary’ at row 我用的是UTF-8编码的客户端,服务器也是UTF-8编码的,数据库也是,就连要保存的这个字符串“ <…”...转载 2018-06-27 21:52:42 · 30490 阅读 · 2 评论 -
MySQL日志审计 帮你揪出内个干坏事的小子
简介Part1:写在最前MySQL本身并不像MariaDB和Percona一样提供审计功能,但如果我们想对数据库进行审计,去看是谁把我的数据库数据给删了,该怎么办呢?我们主要利用init-connect参数,让每个登录的用户都记录到我们的数据库中,并抓取其connection_id(),再根据binlog就能够找出谁干了那些破事儿。MariaDB如何审计,可移步:http:/...转载 2018-08-18 10:45:15 · 1652 阅读 · 0 评论