随笔分类 - --200 MySQL
摘要:目录: (一)认识MHA (1.1)MHA概述 (1.2)MHA架构及其工作原理 (1.3)使用MHA的优势(二)MHA安装--源码安装 (2.1)主机配置 (2.2)MySQL主从复制搭建(1主2从,启用gtid) (2.3)安装MHA Node(在所有节点安装) (2.4)安装MHA Manag
阅读全文
摘要:复合索引(又称为联合索引),是在多个列上创建的索引。创建复合索引最重要的是列顺序的选择,这关系到索引能否使用上,或者影响多少个谓词条件能使用上索引。复合索引的使用遵循最左匹配原则,只有索引左边的列匹配到,后面的列才能继续匹配。本文主要探究复合索引的创建顺序与使用情况。 (一)复合索引的概念 在单个列
阅读全文
摘要:导读: MySQL社区版是不带审计功能的,如果要使用MySQL审计,可以考虑使用中间件(例如proxysql)或者是MariaDB的审计插件。这里以MariaDB的审计插件为例,实现MySQL 5.7的审计功能。 版本信息 操作系统版本 :CentOS 7.4 MySQL数据库版本 :MySQL 5
阅读全文
摘要:(一)MySQL有哪些权限MySQL的权限列表可以使用 show privileges 来查看,主要的权限信息如下: 这里我们根据作用域,把权限分为3类:1.MySQL服务管理权限:用于管理MySQL服务器的操作。这些权限是全局性的,授权范围不能是特定的数据库或对象。只能使用*.*方式授予,不能使用
阅读全文
摘要:本文基于MySQL 5.7编写,对于其它版本也适用 (一)执行计划概述 什么是执行计划呢?SQL是一种傻瓜式语言,每一个条件就是一个需求,访问的顺序不同就形成了不同的执行计划。MySQL必须做出选择,一次只能有一种访问路径,一个访问路径就是一个执行计划。 通常一条SQL有多个执行计划,那我们如何选择
阅读全文
摘要:(一)keepalived概述 Keepalived通过VRRP(虚拟路由冗余协议)协议实现虚拟IP的漂移。当master故障后,VIP会自动漂移到backup,这时通知下端主机刷新ARP表,如果业务是通过VIP连接到服务器的,则此时依然能够连接到正常运行的主机,RedHat给出的VRRP工作原理如
阅读全文
摘要:在上一篇文章《使用ProxySQL实现MySQL Group Replication的故障转移、读写分离(一) 》 中,已经完成了MGR+ProxySQL集群的搭建,也测试了ProxySQL实现业务层面的故障转移,接下来继续测试读写分离。王国维大师笔下的人生三境界:第一重境界:昨夜西风凋碧树。独上高
阅读全文
摘要:导读:在之前,我们搭建了MySQL组复制集群环境,MySQL组复制集群环境解决了MySQL集群内部的自动故障转移,但是,组复制并没有解决外部业务的故障转移。举个例子,在A、B、C 3台机器上搭建了组复制环境,且运行在单主模式下,这里假设A为主节点,应用程序连接A写数据,如果A节点发生宕机,主节点切换
阅读全文
摘要:(一)MyFlash介绍 MyFlash是美团开发的一个回滚DML操作的工具,该工具是开源的,github地址为:https://github.com/Meituan-Dianping/MyFlash。通过该工具,可以实现MySQL数据库的闪回。 (二)安装MyFlash 下载源码: git clo
阅读全文
摘要:(一)binlog2sql介绍binlog2sql是国内MySQL大佬danfengcao开发,许多MySQL爱好者参与改进的一款MySQL binlog解析软件。根据不同选项,可以得到原始SQL、回滚SQL、去除主键的SQL等。github地址为:https://github.com/danfengcao/binlog2sql该工具主要用于:数据快速回滚(闪回);从binlog生成标准SQL;适...
阅读全文
摘要:(一)概述在日常MySQL数据库运维过程中,可能会遇到用户误删除数据,常见的误删除数据操作有:用户执行delete,因为条件不对,删除了不应该删除的数据(DML操作);用户执行update,因为条件不对,更新数据出错(DML操作);用户误删除表drop table(DDL操作);用户误清空表truncate(DDL操作);用户删除数据库drop database,跑路(DDL操作)…等这些情况虽然...
阅读全文
摘要:(一)mysqlbinlog工具介绍binlog类型是二进制的,也就意味着我们没法直接打开看,MySQL提供了mysqlbinlog来查看二进制日志,该工具类似于Oracle的logminer。mysqlbinlog用法为[root@masterdb binlog]# mysqlbinlogUsage: mysqlbinlog [options] log-files其中,常用的option选项如下...
阅读全文
摘要:(1)创建测试表 create table test01 ( id1 int not null auto_increment, name varchar(30), primary key(id1) ); create table test02 ( id2 int not null auto_incr
阅读全文
摘要:上一篇文章介绍了两种MySQL部署多实例的方法,分别是: 使用官方自带的mysqld_multi来配置管理,特点是使用同一份MySQL配置文件,这种方式属于集中式管理,管理起来较为方便; 使用单独的MySQL配置文件来单独配置实例,这种方式逻辑简单,数据库之间没有关联。 两种方法最大的区别在于:使用
阅读全文
摘要:(一)MySQL多实例概述 实例是进程与内存的一个概述,所谓MySQL多实例,就是在服务器上启动多个相同的MySQL进程,运行在不同的端口(如3306,3307,3308),通过不同的端口对外提供服务。 由于MySQL在一个实例下面可以创建多个数据库,所以通常在一台服务器上只要安装一个MySQL实例
阅读全文
摘要:(一)什么是二进制日志 二进制日志(binlog)记录了数据库中所有的DDL和DML操作,但是不包括select语句,语句以“事件”的形式保存,记录了数据库的更改变化,在主从复制(replication)和数据恢复中起着重要的作用。对比来看,MySQL的二进制日志作用相当于Oracle数据库的redo log + archive log。 (二)开启二进制日志及参数配置 二进制日志开启需要在配...
阅读全文
摘要:对于大表的迁移,如果使用mysqldump进行导出,然后重新导入到其它环境,速度是非常缓慢的。如果使用传输表空间,则可以解决这个问题。 测试使用传输表空间迁移表,基础环境如下: 源库 目标库 IP地址 192.168.10.11 192.168.10.12 数据库版本 5.7.24 5.7.24 数
阅读全文
摘要:(一)xtraBackup简介 xtraBackup是Percona公司开发的一款MySQL数据库备份软件,在备份模式中属于物理备份。其显著特点是开源、免费、备份执行过程中不会阻塞事物、备份可压缩、支持全备和增量备份。 (二)下载安装xtraBackup工具 xtraBackup并没有随着MySQL
阅读全文
摘要:(一)基础环境配置 源库 目标库 操作系统版本 CentOS Linux release 7.4 CentOS Linux release 7.4 IP地址 192.168.10.11 192.168.10.12 数据库版本 社区版 5.7.24 社区版 5.7.24 需要同步的数据库 testdb
阅读全文
摘要:(一)mysqldump介绍 mysqldump是MySQL自带的逻辑备份工具,类似于Oracle的expdp/impdp,mysqldump备份十分灵活,可以在以下级别对数据库进行备份: 实例下的所有数据库 某个或某几个数据库 某个数据库中的表 某个数据库中的表的某些记录 mysqldump的备份
阅读全文