在上一篇博客中,我们学习了事务以及事务并发时可能遇到的问题,并介绍了四种不同的隔离级别来解决这些并发问题,在隔离级别的实现一节中,我们提到了锁的概念,锁是实现事务并发的关键。其实,锁的概念不仅仅出现在数据库中,在大多数的编程语言中也存在,譬如 Java 中的 synchronized,C# 中的 lock 等,所以对于开发同学来说应该是不陌生的。但是数据库中……继续阅读 » SEian.G 5年前 (2019-12-05) 2318浏览 0评论5个赞
这篇博客将对一些常见的 SQL 语句进行加锁分析,看看我们平时执行的那些 SQL 都会加什么锁。只有对我们所写的 SQL 语句加锁过程了如指掌,才能在遇到死锁问题时倒推出是什么锁导致的问题。在前面的博客中我们已经学习了 MySQL 下不同的锁模式和锁类型,我们要特别注意它们的兼容矩阵,熟悉哪些锁是不兼容的,这些不兼容的锁往往就是导致死锁的罪魁祸首。总体来说,……继续阅读 » SEian.G 5年前 (2019-10-23) 2830浏览 0评论4个赞
一、使用场景在业务繁忙并且紧急上线,对就是那种特别繁忙,又不能停的那种SQL。在系统不忙的时候 明明跑的很好。但是一旦业务繁忙,就会造成业务阻塞。当查看MySQL的满查询日志中发现大量慢查询日志,(不是单单加索引就能搞定的哦)。这时候怎么办,难道怒对开发一顿,这时候你需要MySQL5.7新特性Query rewrite Plugin插件了。从MySQL5……继续阅读 » SEian.G 5年前 (2019-10-14) 35171浏览 0评论5个赞
无论是面试开发岗还是DBA,在面试中我们经常会被面试官问道:如何设计一个高并发系统?下面就针对问题我们来做一个讨论:面试题分析说实话,如果面试官问你这个题目,那么你必须要使出全身吃奶劲了。为啥?因为你没看到现在很多公司招聘的 JD 里都是说啥,有高并发就经验者优先。如果你确实有真才实学,在互联网公司里干过高并发系统,那你确实拿 offer 基本如探囊……继续阅读 » SEian.G 6年前 (2019-06-02) 1598浏览 0评论7个赞
今天来讲讲MySQL索引的相关问题,谈到索引,其实算是有个非常有深度的问题,本人才疏学浅,能力有限,理解不当之处,请各位大佬批评指正!不胜感激;言归正转,回到今天要说的MYSQL索引最左匹配原则问题;测试表结构,有三个字段,分别是id,name,cidCREATE TABLE `stu` ( `id` int(11) NOT NULL AUTO_……继续阅读 » SEian.G 6年前 (2019-05-29) 2895浏览 0评论6个赞
Percona-toolkit工具包系列文章pt-duplicate-key-checker这款工具也是percona-toolkit中一款非常适用的工具,它可以帮助你检测表中重复的索引或者主键。我们知道索引会更查询带来好处,但是过量的索引反而可能会使数据库的性能降低,这款工具可以帮助我们找到重复的索引并且还会给你删除重复索引的建议语句,非常好用。p……继续阅读 » SEian.G 6年前 (2019-05-19) 1911浏览 0评论3个赞
Percona-toolkit工具包系列文章pt-diskstats是一个perl语言写的脚本,功能和iostat类似,给出磁盘的I/O统计信息。那么它和iostat又有什么不同呢?最大区别在于pt-diskstats可交互,输出信息更加详细,pt-diskstats可以按照不同方式聚合后输出。pt-diskstats实质上是对/proc/disks……继续阅读 » SEian.G 6年前 (2019-05-16) 1913浏览 0评论3个赞
Percona-toolkit工具包系列文章关于死锁,相信计算机专业的同学不止在一门课里面接触过,操作系统老师讲过死锁吧,数据库系统概念的老师也讲过死锁吧。至于死锁原理,这里不赘述了,有兴趣的同学可以参考下这两篇博文(http://hedengcheng.com/?p=844,http://www.cnblogs.com/LBSer/p/5183300……继续阅读 » SEian.G 6年前 (2019-05-13) 4850浏览 0评论4个赞
一、备份出错测试环境测试 xtrabackup 相关性能的时候,备份失败!备份指令如下:#innobackupex --defaults-file=/apps/conf/mysql/mysql5_3306.cnf --socket=/tmp/mysql3306.sock --user=[*]--password=[*] --no-timestamp /……继续阅读 » SEian.G 6年前 (2019-04-14) 2254浏览 0评论5个赞
Percona-toolkit工具包系列文章在日常运维过程中,我们时常遇到这样的烦恼,两套库配置差不多,性能就是不一样,或者将自建的数据库迁移到云上之后,性能差别非常的大;无奈之举,去比对数据库配置是否相同,人肉对比,不仅效率低下而且容易出错哦。pt拿出了这么一个神器,专门对比mysql配置,有这么几种对比方式:pt-config-diff用户区别 ……继续阅读 » SEian.G 6年前 (2019-04-14) 1987浏览 0评论4个赞