mysql
文章平均质量分 83
PolarisHuster
java程序员,爱编程爱运动,也喜欢结交朋友
展开
-
jmeter压测mysql Cannot create PoolableConnectionFactory (Could not create connection to database serv
在使用jmeter压测mysql性能时报出下面的错误信息:Cannot create PoolableConnectionFactory (Could not create connection to database server. Attempted reconnect 3 times. Giving up.)出现这个问题的原因在于max_connections(mysql最大连接数)...原创 2020-04-10 19:21:53 · 4207 阅读 · 0 评论 -
基于Prometheus构建MySQL可视化监控平台(已用于线上环境)
概述对于MySQL的监控平台,相信大家实现起来有很多了:基于天兔的监控,还有基于zabbix相关的二次开发。相信很多同行都应该已经开始玩起来了。我这边的选型是prometheus + granafa的实现方式。简而言之就是我现在的生产环境使用的是prometheus,还有就是granafa满足的我的日常工作需要。1、首先看下我们的监控效果、mysql主从2、mysql状态...转载 2020-03-30 08:53:36 · 2489 阅读 · 5 评论 -
一张图彻底搞懂 MySQL 的锁机制
鉴于文章转载限制,请移步阿里云社区查看:https://developer.aliyun.com/article/741811?utm_content=g_1000098827&from=timeline&isappinstalled=0转载 2020-01-08 08:55:04 · 270 阅读 · 0 评论 -
SQL语句为什么执行的很慢?
转载自:https://mp.weixin.qq.com/s/r-9BLOK5zFEYqwXc1bdGKA说实话,这个问题可以涉及到 MySQL 的很多核心知识,可以扯出一大堆,就像要考你计算机网络的知识时,问你“输入URL回车之后,究竟发生了什么”一样,看看你能说出多少了。之前腾讯面试的实话,也问到这个问题了,不过答的很不好,之前没去想过相关原因,导致一时之间扯不出来。所以今天,我...转载 2019-05-27 08:12:01 · 258 阅读 · 0 评论 -
一次诡异的线上数据库的死锁问题排查过程
转载自:https://mp.weixin.qq.com/s/qxn9foSM9NrN_sLQRZRF-Q现象某天晚上,同事正在发布,突然线上大量报警,很多是关于数据库死锁的,报警提示信息如下: 1{"errorCode":"SYSTEM_ERROR","errorMsg":"nestedexceptionisorg.apache.ibatis.exceptions.Persi...转载 2019-06-25 08:30:57 · 573 阅读 · 0 评论 -
MySQL 加锁处理分析
转载自:https://www.cnblogs.com/tutar/p/5878651.html一、背景MySQL/InnoDB的加锁分析,一直是一个比较困难的话题。我在工作过程中,经常会有同事咨询这方面的问题。同时,微博上也经常会收到MySQL锁相关的私信,让我帮助解决一些死锁的问题。本文,准备就MySQL/InnoDB的加锁问题,展开较为深入的分析与讨论,主要是介绍一种思路,运用此思路...转载 2019-06-25 08:45:54 · 183 阅读 · 0 评论 -
深入解析MySQL索引原理
转载自:https://www.toutiao.com/a6706740989316301323/?app=news_article_lite&is_hit_share_recommend=0&tt_from=copy_link&utm_source=copy_link&utm_medium=toutiao_ios&utm_campaign=client_s...转载 2019-06-27 09:07:09 · 1055 阅读 · 0 评论 -
必须了解的MySQL锁和事务
转载自:https://mp.weixin.qq.com/s/boNBI9y_W9pTqLR7NIaA0Q一、锁定机制最常讨论的话题1、什么是锁锁是数据库系统区别于文件系统的一个关键特性。数据库系统使用锁是为了支持对共享资源进行并发访问,提供数据的完整性和一致性。例如:操作缓冲池中的 LRU 列表,删除、添加、移动 LUR 列表中的元素。对于任何一种数据库来说都...转载 2019-07-08 10:18:45 · 978 阅读 · 0 评论 -
mysql进阶
转载自:https://mp.weixin.qq.com/s/pC0_Y7M7BkoUmlRwneZZdA一、为什么用自增列作为主键1、如果我们定义了主键(PRIMARY KEY),那么InnoDB会选择主键作为聚集索引。如果没有显式定义主键,则InnoDB会选择第一个不包含有NULL值的唯一索引作为主键索引。如果也没有这样的唯一索引,则InnoDB会选择内置6字节长的ROWID作...转载 2019-06-24 09:36:18 · 247 阅读 · 0 评论 -
Mysql DELETE,UPDATE LEFT JOIN
联表修改:update a left join b on a.bid = b.id set a.status= '0' where b.id is null 联表删除:delete a from a left join b on a.bid = b.id where b.id is null原创 2019-02-20 18:55:20 · 292 阅读 · 0 评论 -
关于MySQL的lock wait timeout exceeded解决方案
转载自:https://segmentfault.com/a/1190000015314171关于MySQL出现lock wait timeout exceeded; try restarting transaction 的解决方案。一、问题抛出在做查询语句时,MySQL 抛出了这样的异常:MySQL server error report:Array( [0] =&g...转载 2019-02-22 08:47:23 · 1435 阅读 · 0 评论 -
MySQL 加锁处理分析
转载自:http://hedengcheng.com/?p=771#_Toc3746983111 背景 11.1 MVCC:Snapshot Read vs Current Read 21.2 Cluster Index:聚簇索引 31.3 2PL:Two-Phase Locking 31.4 Isolation Level...转载 2019-01-18 21:38:34 · 186 阅读 · 0 评论 -
深度探索MySQL主从复制原理
转载自:https://www.toutiao.com/a6626587317349908995/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1&timestamp=1547426233&app=news_article_lite&utm_source=weixin&iid=5612...转载 2019-01-14 08:48:53 · 290 阅读 · 0 评论 -
sysbench入门
sysbench是一款多线程压力测试工具,它可以根据影响数据库性能的各种因素来评估系统性能(也就是看看运行数据库的机器性能如何)。下面直接入题,给出sysbench的入门步骤,现在sysbench已被托管到github上,这里给出使用已编译版本的步骤,源码编译可以参考点击打开链接:1.安装sysbench, Debian/Ubuntu curl -s https://pack...原创 2019-01-02 20:43:09 · 831 阅读 · 0 评论 -
为什么 MySQL 数据库要用 B+ 树存储索引
转载自:https://mp.weixin.qq.com/s?__biz=MjM5MjAwODM4MA==&mid=2650711781&idx=3&sn=a40e0dbca2039380093841caca26780d&chksm=bea6d73689d15e2088a2f9e61fb61e70bbc96b96067ff31b7094181a009e938b69f...转载 2019-01-05 10:23:13 · 496 阅读 · 0 评论 -
: 'show master status' has an error! pls check. you need (at least one of) the S UPER,REPLICATION CL
在搭建canal环境时,启动canal报错“: 'show master status' has an error! pls check. you need (at least one of) the S UPER,REPLICATION CL”,这个涉及到两个操作:1.创建canal用户,并开启对应权限CREATE USER canal IDENTIFIED BY 'canal'; ...原创 2018-12-21 17:55:45 · 6722 阅读 · 0 评论 -
Windows下Mysql5.7开启binlog步骤及注意事项
转载自:https://www.cnblogs.com/wangwust/p/6433453.html1、查看是否开启了binlog:show binary logs; 默认情况下是不开启的。2、开启binlog:修改mysql的配置文件my.ini。添加如下配置: 该文件默认不允许修改,需要右键“管理员取得所有权”之后才能保存修改。 另外,需...转载 2018-12-21 17:51:23 · 3569 阅读 · 0 评论 -
MySQL的四种事务隔离级别
转载自:https://www.cnblogs.com/huanongying/p/7021555.html本文实验的测试环境:Windows 10+cmd+MySQL5.6.36+InnoDB一、事务的基本要素(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作...转载 2018-11-28 11:18:46 · 165 阅读 · 0 评论 -
排查mysql innodb Lock wait timeout exceeded; try restarting transaction的问题
转载自:https://www.cnblogs.com/piperck/p/6212524.htmlOMG写的时候崩溃了一次。触发关注这个问题的事情是 我们在使用pt-online-schedule 改表的时候总是拿不到锁,并且报出mysql innodb Lock wait timeout exceeded; try restarting transaction的问题,所以才想到要排查。...转载 2018-11-30 15:32:27 · 561 阅读 · 0 评论 -
浅析MySQL事务中的redo与undo
转载自:https://www.toutiao.com/a6705535775758352900/?app=news_article_lite&is_hit_share_recommend=0&tt_from=copy_link&utm_source=copy_link&utm_medium=toutiao_ios&utm_campaign=client_s...转载 2019-06-24 16:40:03 · 620 阅读 · 0 评论 -
MySQL中interactive_timeout和wait_timeout的区别
转载自:https://www.cnblogs.com/kccdzz/p/6070198.html在用mysql客户端对数据库进行操作时,打开终端窗口,如果一段时间没有操作,再次操作时,常常会报如下错误:ERROR 2013 (HY000): Lost connection to MySQL server during queryERROR 2006 (HY000): MySQL ...转载 2019-06-27 16:57:08 · 245 阅读 · 0 评论 -
MySQL原理解析:MySQL的索引结构为什么使用B+树?
前言在MySQL中,无论是Innodb还是MyIsam,都使用了B+树作索引结构(这里不考虑hash等其他索引)。本文将从最普通的二叉查找树开始,逐步说明各种树解决的问题以及面临的新问题,从而说明MySQL为什么选择B+树作为索引结构。一、二叉查找树(BST):不平衡二叉查找树(BST,Binary Search Tree),也叫二叉排序树,在二叉树的基础上需要满足:任意节点的左子树上...转载 2019-10-11 08:13:12 · 270 阅读 · 0 评论 -
com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value 'Öйú±ê׼ʱ¼
报了这个错说明以下几个问题:1.你是用的mysql连接器mysql-connector-java版本在6以上2.你的数据库time_zone没有值,通过show VARIABLES like '%time_zone%'可以查看到3.在mysql连接属性里面没有配置serverTimezone解决方法,在连接属性上加上serverTimezone属性即可 driv...原创 2019-09-24 15:39:58 · 381 阅读 · 0 评论 -
mysql redo log以及binlog
转载自:http://blog.itpub.net/30126024/viewspace-2216099/总结1、ib_logfile类似oracle的online redo log,包含commit和uncommit的数据2、binary log类似oracle的online redo log和archive redo log,但是只有commit的数据statement 格式的...转载 2019-08-07 16:24:48 · 392 阅读 · 0 评论 -
推荐几篇mysql日志详细介绍文章
http://www.10tiao.com/html/672/201612/2653929738/1.htmlhttp://www.10tiao.com/html/672/201611/2653929532/1.htmlhttp://www.10tiao.com/html/672/201612/2653929659/1.htmlhttp://www.10tiao.com/html/67...原创 2019-08-08 14:14:52 · 155 阅读 · 0 评论 -
究竟先操作缓存,还是数据库
缓存存储,也是数据的冗余。(1)数据库访问数据,磁盘IO,慢;(2)缓存里访问数据,存操作,快;(3)数据库里的热数据,可在缓存冗余一份;(4)先访问缓存,如果命中,能大大的提升访问速度,降低数据库压力;这些,是缓存的核心读加速原理。但是,一旦没有命中缓存,或者一旦涉及写操作,流程会比没有缓存更加复杂,这些是今天要分享的话题。读操作,如果没有命中缓存,...转载 2019-08-08 11:07:08 · 434 阅读 · 0 评论 -
redis 数据库主从不一致问题解决方案
在聊数据库与缓存一致性问题之前,先聊聊数据库主库与从库的一致性问题。问:常见的数据库集群架构如何?答:一主多从,主从同步,读写分离。如上图:(1)一个主库提供写服务(2)多个从库提供读服务,可以增加从库提升读性能(3)主从之间同步数据画外音:任何方案不要忘了本心,加从库的本心,是提升读性能。问:为什么会出现不一致?答:主从同步有时延,这个时延期间...转载 2019-08-08 10:45:58 · 12783 阅读 · 8 评论 -
Mysql中SQL语句不使用索引的情况
转载自:https://www.jb51.net/article/158141.htmMySQL查询不使用索引汇总众所周知,增加索引是提高查询速度的有效途径,但是很多时候,即使增加了索引,查询仍然不使用索引,这种情况严重影响性能,这里就简单总结几条MySQL不使用索引的情况如果MySQL估计使用索引比全表扫描更慢,则不使用索引。例如,如果列key均匀分布在1和100之间,下面的查询使用...转载 2019-07-22 20:40:00 · 1719 阅读 · 0 评论 -
不错的MySQL重要知识点
转载自:https://mp.weixin.qq.com/s/S9jiO_e-_CKRgNnzAU5Z0Q标题有点标题党的意思,但希望你在看了文章之后不会有这个想法——这篇文章是作者对之前总结的 MySQL 知识点做了完善后的产物,可以用来回顾MySQL基础知识以及备战MySQL常见面试问题。什么是MySQL?MySQL 是一种关系型数据库,在Java企业级开发中非常常用,...转载 2019-07-22 08:30:20 · 229 阅读 · 0 评论 -
一次来自阿里面试的mysql索引深入探索
转载自:https://mp.weixin.qq.com/s/yZ133u4np5_OVFC6xesTpA相信很多人对于MySQL的索引都不陌生,索引(Index)是帮助MySQL高效获取数据的数据结构。因为索引是MySQL中比较重点的知识,相信很多人都有一定的了解,尤其是在面试中出现的频率特别高。楼主自认为自己对MySQL的索引相关知识有很多了解,而且因为最近在找工作面试,所以单独...转载 2019-07-22 08:23:32 · 799 阅读 · 0 评论 -
mysql误删数据快速恢复
转载自:https://www.jianshu.com/p/c9a2fe3f4534相信后端研发的同学在开发过程经常会遇到产品临时修改线上数据的需求,如果手法很稳那么很庆幸可以很快完成任务,很不幸某一天突然手一抖把表里的数据修改错误或者误删了,这个时候你会发现各种问题反馈接踵而来。如果身边有BDA或者有这方面经验的同事那么可以很快解决这个问题,如果没有那么希望这篇文章可以帮到你。...转载 2019-07-30 19:20:27 · 210 阅读 · 0 评论 -
超级有用的15个mysqlbinlog命令
转载自:https://www.cnblogs.com/zhengchunyuan/p/8175975.html在MySQL或MariaDB中,任意时间对数据库所做的修改,都会被记录到日志文件中。例如,当你添加了一个新的表,或者更新了一条数据,这些事件都会被存储到二进制日志文件中。二进制日志文件在MySQL主从复合中是非常有用的,主服务器会发送其数据到远程服务器中。当你需要恢复...转载 2019-07-30 19:07:58 · 196 阅读 · 0 评论 -
mysql连接查看
转载自:https://www.cnblogs.com/feiyun126/p/7364075.html1:查看当前连接mysql> show status like 'Threads%';+-------------------+-------+| Variable_name | Value |+-------------------+-------+| T...转载 2019-07-20 14:55:21 · 276 阅读 · 0 评论 -
Communications link failure The last packet successfully received from the server was 2,687,887 mi
使用场景:1.tomcat jdbc连接池2.mysql数据库3.隔一段时间后就会出现Communications link failureThe last packet successfully received from the server was 2,687,887 milliseconds ago之类的错误提示,出现这个问题的原因是使用了无效数据库连接spring....原创 2019-07-19 19:07:19 · 2845 阅读 · 3 评论 -
mysql间隙锁
间隙锁存在需要满足下面几个条件:(1)索引级别在RR或之上,针对RC以及RU级别是不存在的(2)非聚簇索引才会存在然而索引类型的不同也会影响间隙锁锁住数据的范围,唯一索引会锁住上面的范围,但是常规索引则会针对上下返回都会锁住;在唯一索引的情况下操作:Session1:update t set a=600 where x=500;Session2:insert i...原创 2019-07-10 17:58:56 · 687 阅读 · 0 评论 -
MDL 加锁细说
几种典型语句的加(释放)锁流程1.select语句操作MDL锁流程 Opening tables阶段,加共享锁 a) 加MDL_INTENTION_EXCLUSIVE锁 b) 加MDL_SHARED_READ锁 事务提交阶段,释放MDL锁 a) 释放MDL_INTENTION_EXCLUSIVE锁 b) 释放MDL_SHARED_READ...转载 2019-07-10 15:48:50 · 907 阅读 · 0 评论 -
深入理解MYSQL的MDL元数据锁
1前言 2MDL锁与实现 3MDL锁的性能与并发改进 4MDL锁的诊断前言好久没更新,主要是因为Inside君最近沉迷于一部动画片——《新葫芦娃兄弟》。终于抽得闲,完成了本篇关于MySQL MDL锁的深入分析与介绍。虽然之前有很多小伙伴分析过,但总感觉少了点什么,故花了点时间翻看了下源码。Inside君或许不是最牛掰的内核开发人员,但自认为应该是业界最会讲故事的码农,希望本篇能...转载 2019-07-10 15:03:07 · 1116 阅读 · 0 评论 -
mysql创建表多个字段的唯一约束
mysql中有些表有时需要做一些字段的唯一约束,当然你也可以在insert前判断有无的方式来防止重复,如果不想额外增加代码来更灵活的实现一些字段的唯一约束,mysql提供了两种方式:1.unique key alter table xxadd unique key no_account(no,collection_account)2.unique indexalter tabl...原创 2018-11-16 16:12:33 · 18674 阅读 · 0 评论 -
MySQL Explain详解
转载自:https://www.toutiao.com/a6621756882769936904/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1&timestamp=1541753671&app=news_article&utm_source=weixin&iid=496349922...转载 2018-11-10 10:20:05 · 4145 阅读 · 0 评论 -
MySql 5.7关键字和保留字-附表
转载自:https://www.cnblogs.com/Z-Fanghan/p/6892944.html现在使用navicat图形界面或者Hibernate做映射生成表的时候,渐渐的会忽视掉关键字这个问题,而后续也会不断的产生错误提示,一遍遍的查询代码无果,甚至开始怀疑人生,但是其实很多情况下只是使用了保留字而已,因此在设计数据库之初便要尽量的规避关键字和保留字。但是这里要提一下的是mys...转载 2018-11-06 10:23:39 · 3152 阅读 · 0 评论