生产环境使用 pt-table-checksum 检查MySQL数据一致性

公司数据中心从托管机房迁移到阿里云,需要对mysql迁移(Replication)后的数据一致性进行校验,但又不能对生产环境使用造成影响,pt-table-checksum 成为了绝佳也是唯一的检查工具。 pt-table-checksum 是 Percona-Toolkit 的组件之一,用于检测MySQL主、...

MySQL Delayed Replication

MySQL 5.6 supports delayed replication such that a slave server deliberately lags behind the master by at least a specified amount of time. The default delay is 0 seconds. Use the MASTER_DELAY option for CHANGE MASTER TO to set the delay...

Changed defaults between MySQL 5.6 and 5.7

Changed defaults between MySQL 5.6 and 5.7 MySQL 5.7 comes with many changes. Some of them are better explained than others. I wanted to see how many changes I could get by comparing SHOW VARIABLES in MySQL 5.6 and 5.7. The most notable...

MySQL分页问题优化整理

关于分页的问题现象 关于MySQL的分页,是很多公司在使用过程中都会遇到的一个问题。一般大家会采用select … from … where … order by … limit N,M 这样的方式来进行分页。这样分页的核心问题点是当随着分页的起始值N值的不断增大...

理解 MySQL:架构和概念(转)

写在前面:最早接触的MySQL是在2006年前,那时候MySQL还是4.x版本,很多功能都不支持,比如,存储过程,视图,触发器,更别说分布式事务等复杂特性了。但从5.0(2005年10月)开始,MySQL渐渐步入企业级数据库的行列了;复制、集群、分区、分布式事务,这些企...

MySQL使用存储过程批量插入测试数据

1.创建测试表song CREATE TABLE `song` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT ‘Autoincreament element’, `name` text NOT NULL, `datetime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `rank` int(11) NOT N...

MySQLMHA构建实施文档手册

一、MHA介绍 MHA自动化主服务器故障转移,快速将从服务器晋级为主服务器(通常在10-30s),而不影响复制的一致性,不需要花钱买更多的新服务器,不会有性能损耗,容易安装,不必更改现有的部署环境,适用于任何存储引擎。 MHA提供在线主服务器切换,改变正运...

MySQL 一个OR转UNOIN的SQL优化

线上订单库Oracle转MySQL后,发现了一个非常慢的语句。语句如下,语句里面使用了good_receiver_phone = ‘13916593043’ or good_receiver_mobile = ‘13916593043’这个条件。这个条件如果拆分开放到语句里面查询都是比较快的,因为...

Configuring MySQL to use minimal memory

The MySQL defaults have to balance performance with what is considered reasonable for what may be a development system with other applications needing to run alongside MySQL. In many cases, this will mean 4-8GB, but on virtual machines (...

online ddl 工具之pt-online-schema-change

MySQL ddl 的问题现状 在 运维mysql数据库时,我们总会对数据表进行ddl 变更,修改添加字段或者索引,对于mysql 而已,ddl 显然是一个令所有MySQL dba 诟病的一个功能,因为在MySQL中在对表进行ddl时,会锁表,当表比较小比如小于1w上时,对前端影响较小,...

MySQLMTOP 开源MySQL监控系统

MySQLMTOP是本人近期发布和维护的一开源项目。它是一个由Python+PHP开发的MySQL企业级监控系统。系统由Python实现多进程数据采集和告警,PHP实现WEB展示和管理。MySQL服务器无需安装任何Agent,只需在监控WEB界面配置相关数据库信息,启动监控进程后,即可...

MySQL Client 有时会被DBA忘记的功能

MySQL Client有一些功能我们从来不会用到,为什么不试试呢?   1.提示: 如果你连接的数据库比较多,容易混淆的话,可以用下面的命令对数据库做一个区分提示   mysql> \R production> PROMPT set to ‘production>’ product...

MySQL Innodb事务编程问题和处理

  1.在循环中提交的问题 很多开发人员非常喜欢在循环中进行事务提交,下面演示一个他们经常写的一个存储过程示例,如下所示: DROP PROCEDURE IF EXISTS load1; CREATE PROCEDURE load1(count INT UNSIGNED) BEGIN    DECLARE s INT UNSIGN...

MySQL批量回收数据库权限

今天我们的测试库上所有用户要回收drop等权限。因为我们每个服务器上有许多个库,每个库上对应多个用户。看了下MYSQL的数据字典,随后通过修改数据字典完成了这项工作任务。 1.mysql库里面的user表里面记录了mysql账户的全局权限,也就是能操作所有库的权...

InnoDB row_id边界溢出验证

背景          跟同学聊到row_id一个边界问题,这里详细说明下。          InnoDB表若没有定义主键,会使用系统的一个默认递增row_id (dict_sys->row_id)...

MySQL5.5加主键锁读问题

背景      有同学讨论到MySQL 5.5下给大表加主键时会锁住读的问题,怀疑与fast index creation有关,这里简单说明下。 对照现象          为了说明这个问题的原因,有兴趣的同学可...

MySQL事务隔离级别详解

SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。 Read Uncommitted(读取未提交内容)        在该隔...

innodb_flush_method理解

innodb_flush_method这个参数控制着innodb数据文件及redo log的打开、刷写模式,对于这个参数,文档上是这样描述的: 有三个值:fdatasync(默认),O_DSYNC,O_DIRECT 默认是fdatasync,调用fsync()去刷数据文件与redo log的buffer 为O_DSYNC时,innodb会使...

mysql slow sql date_format tunning

今天中午,突然某台数据库报警,经过排除,发现了有SQL堵塞现象。其中有一条类似如下SQL查询时间很长: SELECT count(id) as count FROM ycm_msg_success_log where source_code=’200004′ and channel_code=’100001′ and dat...

Mysql中文字符与数值distinct查询效率测试

早想测试中文字符和数值在distinct情况下的时间效率,今天刚好有个机会,做个测试玩玩。。。 1,report_kpid_pos_fct_filter_1323_index与report_kpid_pos_fct_filter_1323_noindex数据完全相同; 2,category3_name,category3_skid一对一关系 3,report_kp...

Top