1、事务概念:
  一组sql语句操作单元,组内所有SQL语句完成一个业务,如果整组成功:意味着全部SQL都实现;如果其中任何一个失败,意味着整个操作都失败。失败,意味着整个过程都是没有意义的。应该是数据库回到操作前的初始状态。这种特性,就叫“事务”。
2、为什么要存在事务?
  1)失败后,可以回到开始位置
    2)没都成功之前,别的用户(进程,会话)是不能看到操作内的数据修改的
3、事务4...
Continue reading >>

之前写过一篇 Xtrabackup备份文件恢复 的文章,生产中Mysql备份基本都是使用percona的xtrabackup进行全量&增量备份,简单的话直接使用mysqldump即可。这个脚本比较好的是在一个脚本内实现了全量和增量备份,思路挺好,来源:https://www.modb.pro/db/42779,稍微改了下,加了邮件报警等功能,感谢原作者分享。

脚本内容:mysql_...

Continue reading >>

1、问题背景:

线上服务日志报数据库连接太多错误,登陆腾讯云控制台查看实例监控及诊断,存在大量update语句行锁等待,1分钟内MySQL连接数从100多突增到400多,CPU占用率从4%飙到100%被打爆,不到10分钟连接数(最大连接数1000)被打满。

最终原因定位为:业务update语句存在行锁等待,短时间内大量重试(频率10Hz)导致实例CPU打满,随后最大连接数打满。持续kill掉等待SQL...

Continue reading >>

在我们对数据库技术方案设计的时候,我们是否有自己的设计理念或者原则,还是更多的依据自己的直觉去设计,是否曾经懊悔线上发生过的一次低级故障,可能稍微注意点就可以避免,是否想过怎么才能很好的避免,下面规范的价值正是我们工作的检查清单,需要我们不断从错误中积累有效经验来指导未来的工作。以下规范在大型互联网公司经过了充分的验证,尤其适用于并发量大、数据量大的业务场景。先介绍的是安全规范,因为安全无小事,很...Continue reading >>