ITPub博客

首页 > 数据库 > 数据库开发技术 > MySQL Galera Cluster全解析 Part 8 Galera Cluster和传统MySQL的不同点

MySQL Galera Cluster全解析 Part 8 Galera Cluster和传统MySQL的不同点

原创 数据库开发技术 作者:ibsbforever 时间:2019-08-27 21:27:00 0 删除 编辑

 

往期专题请查看
这是一个坚持Oracle,Python,MySQL原创内容的公众号


前期回顾

MySQL Galera Clusters全解析 Part 1 Galera Cluster 简介

MySQL Galera Clusters全解析 Part 2 基于认证的复制

MySQL Galera Cluster全解析 Part 3 状态快照传输(SST)

MySQL Galera Cluster全解析 Part 4 Galera Cluster 安装前准备

MySQL Galera Cluster全解析 Part 5 Galera Cluster软件安装

MySQL Galera Cluster全解析 Part 6 Galera Cluster参数设置

MySQL Galera Cluster全解析 Part 7 Galera Cluster部署指南


主机名 IP地址 操作系统 MySQL版本 插件版本
rac1 11.12.14.29 Redhat 6.10 5.7.26 25.3.27
rac2 11.12.14.30 Redhat 6.10 5.7.26 25.3.27
rac3 11.12.14.39 Redhat 6.10 5.7.26 25.3.27

前面我们说了Galera Cluster有三种不同的分支

  • MySQL Galera Cluster by Codership

  • Percona XtraDB Cluster by Percona

  • MariaDB Galera Cluster (5.5 and 10.0) by MariaDB

上面我们说了如何一步步搭建MySQL Galera集群

这节内容主要讲其和单机的MySQL有何不同点,包含一些需求和限制

1. 服务器不同

Galera需要和传统的单机不一样,其需要集成一些补丁,并且在二进制日志和字符集的处理上也不一样

2. 操作系统支持

Galera 支持Linux和类UNIX操作系统,二进制包不在FreeBSD, Solaris and Mac OS X上提供

同时不支持Windows操作系统

3. 二进制日志支持

不要使用binlog-do-db and binlog-ignore-db选项

这些二进制日志选项只支持DML语句,不知道DDL语句,可能会造成复制中断

4. 不支持的字符集

不要使用UTF-16, UTF-32 or UCS-2字符集

当使用rsync 方法进行SST时,使用这些字符集可能会导致服务崩溃

5. 表配置的不同

一些传统数据库的表配置可能Galera不同,如存储引擎支持,查询缓存等

6. 存储引擎支持

Galera只支持innodb存储引擎,其他的非事务型存储引擎如MyISAM将无法被复制,只会同步DDL不会同步DML,如新建一张MyISAM表并插入数据,其他节点会新建表但是不会插入数据(行数为0)

7.无主键表

不要使用无主键的表,需要为表设置主键,如果实在没有,可以设置自动增长(AUTO_INCREMENT )的列

8. 表锁

Galera不支持表锁,因为会和多主冲突,所以LOCKTABLES and UNLOCK TABLES 语句不被支持,同样GET_LOCK() and RELEASE_LOCK()函数也不可以使用

9.查询日志

Galera无法将查询日志定向到表中,如有需求,你必须将其定向到文件中

log_output = FILE

10.事务的不同

  • Galera不支持分布式事务XA

  • 事务的大小上也有限制,否则会大幅降低Galara性能,一般我们设置wsrep_max_ws_rows and the wsrep_max_ws_size参数来限制

11. 事务冲突解决

Galera中如果两个事务同时写同一行,而且是在不同的节点,此时只有一个事务会成功,另一个会被回滚,这时你需要重新执行失败的那一个

我们可以在日志中看到一段死锁警告

code (Error: 1213 SQLSTATE: 40001 (ER_LOCK_DEADLOCK)

5. 参考资料

https://galeracluster.com/library/training/tutorials/differences.html




可点击阅读原文获得更好的阅读体验,推荐在PC端阅读

也可在公众站内搜索中回复 garela  搜索相关内容

或直接打开个人网页搜索


http://


往期专题包括:


  • Python 自动化运维

  • MySQL  安装

  • mysqldump命令详解

  • mysqlbinlog命令详解

  • xtrabackup工具详解

  • 打造属于自己的监控系统

  • Python爬虫基础

  • Oracle awr报告全解析

  • Oracle ASM全解析

  • Oracle Data Guard全解析

  • Oracle ClusterWare全解析

  • Oracle常见参数解析

  • Oracle常见故障处理

  • Oracle SQL优化案例


觉得文章不错的欢迎关注,转发,收藏,点赞~

原文作者:宅必备;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论
Oracle,MySQL DBA,Python自动化运维

注册时间:2019-01-29

  • 博文量
    245
  • 访问量
    243976