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 5.7多方式安装
一、MySQL RELEASE FORMAT MySQL官方发行版本一般就有以下几种(官方下载地址),其实大部分软件的发行版大多数情况下也是以下几种,所以只要明白一个软件的发行方式就OK。另外下载MySQL任何包都应该去官方网站下载,记住一定在官方下载且最好直接下载(不使用第三方工具),并且最好下载完成后经过MD5校验。因为MySQL是开源的,所以使用第三方……
MySQL复制需要注意的问题
总结一下mysql主从复制需要注意的地方。有人说主从复制很简单嘛,就是master,slave的server_id不一样就搞定。确实,简单的来说就是这么简单。但是真正在生产环境我们需要注意的太多了。首先说说主库宕机或者从库宕机后复制中断的问题。虽然很多知识点或许我博客其他文章中都有提到过,或者重复了,但是我还是想总结一下。 一、主库意外宕机 如果没有设置主库……
MySQL执行计划详解(EXPLAIN)
一、准备数据 为了更好地看看剖析执行计划,需要一个数据量不算小的数据库作为示例。 CREATE TABLE s1 ( id INT NOT NULL AUTO_INCREMENT, key1 VARCHAR(100), key2 INT, key3 VARCHAR(100), k……
MySQL 5.7:JSON类型支持
在MySQL与PostgreSQL的对比中,PG的JSON格式支持优势总是不断被拿来比较。其实早先MariaDB也有对非结构化的数据进行存储的方案,称为dynamic column,但是方案是通过BLOB类型的方式来存储。这样导致的问题是查询性能不高,不能有效建立索引,与一些文档数据库对比,优势并不大,故在社区的反应证实比较一般。当然,MariaDB的dyn……
MySQL字符集与校验规则
一、基础知识 字符和字符集(Character and Character set) 那什么是字符呢?在计算机领域,我们把诸如文字、标点符号、图形符号、数字等统称为字符,包括各国家文字、标点符号、图形符号、数字等。而由字符组成的集合则成为字符集,是一个系统支持的所有抽象字符的集合。字符集由于包含字符的多少与异同而形成了各种不同的字符集,字符集种类较多,每个字……
MySQL主从复制错误修复
一、修复已中断数据复制的方法 在MySQL复制中,如果Slave节点上遇到错误,比如数据不存在或者主键冲突等错误时,想要忽略这些错误(你要明确清楚你忽略的数据造成主从不一致性,且你能够接受这个不一致性所带来的问题)。有一种情况需要注意,如果明确是主键冲突,应先采取主从数据对比,如果数据一致则忽略跳过这些错误,如果数据不一致则要先删除Slave上的数据,然后重……
MySQL 5.7:SYS库详解
一、sys schema的演进 MySQL的数据字典经历了几个阶段的演进: MySQL 4.1 – 提供了information_schema数据字典,一些基础元数据可以通过SQL来查询得到。 MySQL 5.5 – 提供了performance_schema性能引擎,可以通过参数performance_schema来开启/关闭,说实……
SQL语句之truncate和drop以及delete命令的区别
一、环境 创建一个表s_user(有主键且自增) create table s_user( u_id int auto_increment primary key, u_name varchar(15), u_pwd varchar(15), u_truename ……
MySQL线上CPU负载过高的解决过程
接到报警通知,负载过高,达到800%,load也过高,有11了。 MySQL版本为5.6.12-log 1)top 之后,确实是mysqld进程占据了所有资源。 2)查看error日志,无任何异常。 3)show eninge innodb status\G,没有死锁信息。 4)show full processlist; 没有耗时非常大的慢sql再跑。看并……
MySQL InnoDB事务隔离级别
一、事务隔离级别 一个支持事务的关系型数据库必须要必备ACID(Atomicity、Consistency、Isolation、Durability,即原子性、一致性、隔离性、持久性),今天我们就来说说其中 Isolation,也就是“隔离性”。当数据库上有多个事务同时执行的时候,就可能出现脏读(dirty read)、不可重复读(non-repeatabl……