02

mysql的数据恢复

数据库数据被误删除是经常看到的事情,数据的恢复也就自然成为了DBA很重要的一门基本功夫,比较笨拙的办法是拉出历史的备份到另外的一台机器恢复出来,但是这种方法如果数据量比较大的话,往往会耗费较长的时间,以前在使用oracle的时候,提供了很多数据恢复的办法,常用的办法就是采用闪回flashback,或者通过logmnr在分析日志完成数据的恢复,但是在mysql中,数据的恢复变成了很困难的一件事情。

继续阅读全文

18

NTSE、TNT引擎研发之自动化测试实践

软件自动化测试,是软件测试中的一类分支。自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。

继续阅读全文

02

SQL中的where条件,在数据库中提取与应用浅析

一条SQL,在数据库中是如何执行的呢?相信很多人都会对这个问题比较感兴趣。当然,要完整描述一条SQL在数据库中的生命周期,这是一个非常巨大的问题,涵盖了SQL的词法解析、语法解析、权限检查、查询优化、SQL执行等一系列的步骤,简短的篇幅是绝对无能为力的。因此,本文挑选了其中的部分内容,也是我一直都想写的一个内容,做重点介绍:

给定一条SQL,如何提取其中的where条件?where条件中的每个子条件,在SQL执行的过程中有分别起着什么样的作用?

通过本文的介绍,希望读者能够更好地理解查询条件对于SQL语句的影响;撰写出更为优质的SQL语句;更好地理解一些术语,例如:MySQL 5.6中一个重要的优化——Index Condition Pushdown,究竟push down了什么?

继续阅读全文

15

MySQL5.6主键的在线DDL变更测试

导读:本文主要详细测试online DDL中的删除,添加主键操作。
测试目的主要有以下几点:
(1):以alter table的方式新增主键,MySQL需要做什么
(2):ALGORITHM=inplace与ALGORITHM=copy 增删主键的不同之处,和适用于怎么的环境
(3):inplace与copy对于重建主键的效率,考虑哪些元素
(4):online DDL是如何控制DML,查询的并发

继续阅读全文

01

MYSQL数据丢失讨论

很多企业选择MySQL都会担心它的数据丢失问题,从而选择Oracle,但是其实并不十分清楚什么情况下,各种原因导致MySQL会丢失部分数据。本文不讨论Oracle和MySQL的优劣,仅仅关注MySQL丢失数据的几种情况。希望能够抛砖引玉,让各位MySQL大牛们梳理出MySQL最安全或者性价比合适的适合各种应用场景的方案。

继续阅读全文

01

互联网DBA需要做那些事

众所周知,互联网DBA与传统行业DBA有很大的不同,那就是管理的机器多,新技术更新快,面对的开发多、网络环境复杂、要求7*24待机;这样就 导致互联网DBA的工作在传统DBA工作之上,增加了更多的复杂性,我们必须考虑如何大批量部署,如何集中化监控、如何解决单点故障而保障7*24,而为 了做到这些,不是靠堆人力,我们必须有一个完整的平台作为支撑,那么数据库平台到底要建成什么样子呢?

继续阅读全文

07

MySQL5.6复制之Replication Event Checksums

binlog-checksum={NONE|CRC32} — NONE表示binlog 中的事件里面不记录checksum值,保持与老版本兼容;而CRC32则在事件中加入用来确认事件是否正常的checksum值。

master-verify-checksum={0|1} – 该参数用来判断​主库写入到binlog中的事件是否正常,Dump Thread用来将主库更新事件读出发给从库的I/O Thread,当它读出事件时会进行checksum校验,对于复制来说这此判断不太需要,只需要在复制端判读出过来的事件事件是否正常即可,默认设置为0关闭checksum检查;另外,当我们执行命令SHOW BINLOG EVENTS的时候也会触发checksum校验。

继续阅读全文