MySQL 5.6对用户密码安全性的加强
MySQL用户密码是如何生成和保存的? 如果你已经接触MySQL一段时间了,那么想必你一定知道MySQL把所有用户的用户名和密码的密文存放在mysql.user表中。大致的形式如下: mysql> select user,password from mysql.user; +----------------+------……
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 Galera Cluster是MariaDB的一个双活多主集群,其可以使得MariDB的所有节点保持同步,Galera为MariaDB提供了同步复制(相对于原生的异步复制),因此其可以保证HA,且其当前仅支持XtraDB/InnoDB存储引擎(扩展支持MyISAM),并且只可在Linux下使用。 从MariaDB……
MySQL多实例安装配置
MySQL进行多实例配置再生产环境中非常常见,比如一些高配置数据库服务器,就会跑多个MySQL实例,借助多实例绑定的方式提高服务器的整体资源利用率。另外在MySQL5.7以上版本还不支持多源复制时,当你有多个主时,也可以使用一台服务器开多个MySQL实例做从。 MySQL多实例配置一般有两种方式: 第一种:基于mysqld_multi来实现。mysqld_m……
MySQL复制需要注意的问题
总结一下mysql主从复制需要注意的地方。有人说主从复制很简单嘛,就是master,slave的server_id不一样就搞定。确实,简单的来说就是这么简单。但是真正在生产环境我们需要注意的太多了。首先说说主库宕机或者从库宕机后复制中断的问题。虽然很多知识点或许我博客其他文章中都有提到过,或者重复了,但是我还是想总结一下。 一、主库意外宕机 如果没有设置主库……
MySQL字符集与校验规则
一、基础知识 字符和字符集(Character and Character set) 那什么是字符呢?在计算机领域,我们把诸如文字、标点符号、图形符号、数字等统称为字符,包括各国家文字、标点符号、图形符号、数字等。而由字符组成的集合则成为字符集,是一个系统支持的所有抽象字符的集合。字符集由于包含字符的多少与异同而形成了各种不同的字符集,字符集种类较多,每个字……
MySQL主从复制错误修复
一、修复已中断数据复制的方法 在MySQL复制中,如果Slave节点上遇到错误,比如数据不存在或者主键冲突等错误时,想要忽略这些错误(你要明确清楚你忽略的数据造成主从不一致性,且你能够接受这个不一致性所带来的问题)。有一种情况需要注意,如果明确是主键冲突,应先采取主从数据对比,如果数据一致则忽略跳过这些错误,如果数据不一致则要先删除Slave上的数据,然后重……
MySQL InnoDB事务隔离级别
一、事务隔离级别 一个支持事务的关系型数据库必须要必备ACID(Atomicity、Consistency、Isolation、Durability,即原子性、一致性、隔离性、持久性),今天我们就来说说其中 Isolation,也就是“隔离性”。当数据库上有多个事务同时执行的时候,就可能出现脏读(dirty read)、不可重复读(non-repeatabl……
MySQL InnoDB事务编写语法
一、事务控制语句 对于一个事务存储引擎来说如果没有明确启动一个事务,默认是能实现自动提交每一个操作都能直接提交。而MySQL默认采用自动提交模式。也就是说,在 InnoDB 中,所有的用户操作均是以事务方式处理的如果不是显式地开始一个事务,每个 SQL 语句将以一个单独的事务来处理。MySQL 通常是以自动提交方式建立一个服务连接的。查看变量autocomm……
MySQL InnoDB单机事务原理
一、事务简介 事务(transaction)是数据库区别于文件系统的一个重要特性,事务意为一系列操作的集合,具有 ACID 的特性,能将数据库从一个一致的状态转换到另一个状态。 简单说事务就是由一组 SQL 语句组成的一个执行单元,在这组执行单元中的所有语句要么全部执行成功,要么全部执行失败。 在 MySQL 中,InnoDB 存储引擎支持事务操作,这里也主……
MySQL InnoDB事务并发异象
试想,事务如果都是串行的,那么就不需要锁了,但是性能肯定没法接受。加锁只是为了提高事务并行度,并且解决并发事务执行过程中引起的脏写、脏读、不可重复读、幻读这些问题的一种解决方案(MVCC算是一种解决脏读、不可重复读、幻读这些问题的一种解决方案),一定要意识到加锁的出发点是为了解决这些问题,不同情景下要解决的问题不一样,才导致加的锁不一样。当然,有时候因为My……
MySQL InnoDB死锁及死锁检测(四)
一、MySQL InnoDB死锁阐述 在MySQL中,当两个或以上的事务相互持有和请求锁,并形成一个循环的依赖关系,就会产生死锁。多个事务同时锁定同一个资源时,也会产生死锁。在一个事务系统中,死锁是确切存在并且是不能完全避免的。 InnoDB会自动检测事务死锁,立即回滚其中某个事务,并且返回一个错误。它根据某种机制来选择那个最简单(代价最小)的事务来进行回滚……