• 进入"运维那点事"后,希望您第一件事就是阅读“关于”栏目,仔细阅读“关于Ctrl+c问题”,不希望误会!
MySQL设置gtid_purged破坏AUTO_POSITION复制协议

MySQL设置gtid_purged破坏AUTO_POSITION复制协议

BUG描述 MySQL 5.6.22中有这样一个关于GTID的bugfix,在主备场景下,如果我们在主库上 SET GLOBAL GTID_PURGED = “some_gtid_set”,并且 some_gtid_set 中包含了备库还没复制的事务,这个时候如果备库接上主库的话,预期结果是主库返回错误,IO线程挂掉的,但是实际上,在……

MySQL Reset Master AND Reset Slave

MySQL Reset Master AND Reset Slave

RESET MASTER 删除所有 index file 中记录的所有 binlog 文件,将日志索引文件清空,创建一个新的日志文件,这个命令通常仅仅用于第一次用于搭建主从关系的时的主库。 注意,reset master 不同于 purge binary log 的两处地方。 reset master 将删除日志索引文件中记录的所有 binlog 文件,创……

MySQL启用GTID场景的性能问题及优化

MySQL启用GTID场景的性能问题及优化

一、背景 MySQL从5.6版本开始支持GTID特性,也就是所谓全局事务ID,在整个复制拓扑结构内,每个事务拥有自己全局唯一标识。GTID包含两个部分,一部分是实例的UUID,另一部分是实例内递增的整数。 GTID的分配包含两种方式,一种是自动分配,另外一种是显式设置session.gtid_next,下面简单介绍下这两种方式: 二、自动分配 如果没有设置s……

MySQL主从复制过滤规则应用

MySQL主从复制过滤规则应用

一、MySQL主从复制过滤 库级过滤 在评估复制选项时,从服务器首先检查是否存在可应用的复制选项replicate-do-db或 replicate-ignore-db。当使用binlog-do-db或 binlog-ignore-db过程相似,但它们属于在主库上检查选项。 主库支持的过滤选项 # 仅将指定库的相关修改操作记……

MySQL表字段字符集不同导致的索引失效问题

MySQL表字段字符集不同导致的索引失效问题

1. 概述 昨天在一位同学的MySQL机器上面发现了这样一个问题,MySQL两张表做left join时,执行计划里面显示有一张表使用了全表扫描,扫描全表近100万行记录,大并发的这样的SQL过来数据库变得几乎不可用了,今天和大家一起分享下这个问题的原因及解决办法,希望可以帮助大家更好的学习MySQL数据库,一起来看看吧。MySQL版本为官方5.7.12。 ……

MySQL 5.6对用户密码安全性的加强

MySQL 5.6对用户密码安全性的加强

MySQL用户密码是如何生成和保存的? 如果你已经接触MySQL一段时间了,那么想必你一定知道MySQL把所有用户的用户名和密码的密文存放在mysql.user表中。大致的形式如下: mysql> select user,password from mysql.user; +----------------+------……

Zabbix 3使用percona-zabbix-templates监控MySQL

Zabbix 3使用percona-zabbix-templates监控MySQL

因为Zabbix自带的MySQL监控没有提供可以直接使用的Key,所以一般不采用,业界的同学们都使用Percona Monitoring Plugins 监控MySQL的方式。 1)MySQL客户端需要的系统环境 percona监控zabbix的脚本是使用php写的,所以需要准备好php运行环境,这里直接用yum安装就可以满足要求了: ……

MariaDB Galera Cluster Deploy

MariaDB Galera Cluster Deploy

MariaDB Galera Cluster Galera Cluster是MariaDB的一个双活多主集群,其可以使得MariDB的所有节点保持同步,Galera为MariaDB提供了同步复制(相对于原生的异步复制),因此其可以保证HA,且其当前仅支持XtraDB/InnoDB存储引擎(扩展支持MyISAM),并且只可在Linux下使用。 从MariaDB……

MySQL多实例安装配置

MySQL多实例安装配置

MySQL进行多实例配置再生产环境中非常常见,比如一些高配置数据库服务器,就会跑多个MySQL实例,借助多实例绑定的方式提高服务器的整体资源利用率。另外在MySQL5.7以上版本还不支持多源复制时,当你有多个主时,也可以使用一台服务器开多个MySQL实例做从。 MySQL多实例配置一般有两种方式: 第一种:基于mysqld_multi来实现。mysqld_m……

MySQL复制需要注意的问题

MySQL复制需要注意的问题

总结一下mysql主从复制需要注意的地方。有人说主从复制很简单嘛,就是master,slave的server_id不一样就搞定。确实,简单的来说就是这么简单。但是真正在生产环境我们需要注意的太多了。首先说说主库宕机或者从库宕机后复制中断的问题。虽然很多知识点或许我博客其他文章中都有提到过,或者重复了,但是我还是想总结一下。 一、主库意外宕机 如果没有设置主库……

MySQL字符集与校验规则

MySQL字符集与校验规则

一、基础知识 字符和字符集(Character and Character set) 那什么是字符呢?在计算机领域,我们把诸如文字、标点符号、图形符号、数字等统称为字符,包括各国家文字、标点符号、图形符号、数字等。而由字符组成的集合则成为字符集,是一个系统支持的所有抽象字符的集合。字符集由于包含字符的多少与异同而形成了各种不同的字符集,字符集种类较多,每个字……

MySQL主从复制错误修复

MySQL主从复制错误修复

一、修复已中断数据复制的方法 在MySQL复制中,如果Slave节点上遇到错误,比如数据不存在或者主键冲突等错误时,想要忽略这些错误(你要明确清楚你忽略的数据造成主从不一致性,且你能够接受这个不一致性所带来的问题)。有一种情况需要注意,如果明确是主键冲突,应先采取主从数据对比,如果数据一致则忽略跳过这些错误,如果数据不一致则要先删除Slave上的数据,然后重……