你的位置:首页 > 转载分享

CentOS 6下安装部署Galera Cluster for MySQL集群

2年前 (2017-06-05) 浏览:(609) 转载分享 评论(0)

Galera Cluster for MySQL是一套基于同步复制的多主MySQL集群解决方案,使用简单,没有单点故障,可用性高,能很好保证业务不断增长时我们数据的安全和随时的扩展,主要特点:


同步复制

多主服务器的拓扑结构

可以在任意节点上进行读写

自动剔除故障节点

自动加入新节点

真正行级别的并发复制

客户端连接跟操作单台MySQL数据库的体验一致


Galera本质是一个wsrep提供者(provider),运行依赖于wsrep的API接口。Wsrep API定义了一系列应用回调和复制调用库,来实现事务数据库同步写集(writeset)复制以及相似应用。目的在于从应用细节上实现抽象的,隔离的复制。虽然这个接口的主要目标是基于认证的多主复制,但同样适用于异步和同步的主从复制。


MySQL Cluster 备份与恢复 http://www.linuxidc.com/Linux/2013-06/85295.htm


MySQL Cluster安装配置 http://www.linuxidc.com/Linux/2013-07/87705.htm


MySQL Cluster 3台机器搭建集群环境 DOC http://www.linuxidc.com/Linux/2013-01/78249.htm


MySQL Cluster7.2在线增加数据节点存在重大弊端 http://www.linuxidc.com/Linux/2012-08/67605.htm


搭建MySQL-Cluster集群架构   http://www.linuxidc.com/Linux/2014-05/102218.htm


使用前十项注意


1、使用Galera必须要给MySQL-Server打wsrep补丁。可以直接使用官方提供的已经打好补丁的MySQL安装包,如果服务器上已经安装了标准版MYSQL,需要先卸载再重新安装。卸载前注意备份数据。

2、MySQL/Galera集群只支持InnoDB存储引擎。如果你的数据表使用的MyISAM,需要转换为InnoDB,否则记录不会在多台复制。可以在备份老数据时,为mysqldump命令添加–skip-create-options参数,这样会去掉表结构的声明信息,再导入集群时自动使用InnoDB引擎。不过这样会将AUTO_INCREMENT一并去掉,已有AUTO_INCREMENT列的表,必须在导入后重新定义。

3、MySQL 5.5及以下的InnoDB引擎不支持全文索引(FULLTEXT indexes),如果之前使用MyISAM并建了全文索引字段的话,只能安装MySQL 5.6 with wsrep patch。

4、所有数据表必须要有主键(PRIMARY),如果没有主键可以建一条AUTO_INCREMENT列。

5、MySQL/Galera集群不支持下面的查询:LOCK/UNLOCK TABLES,不支持下面的系统变量:character_set_server、utf16、utf32及ucs2。

6、数据库日志不支持保存到表,只能输出到文件(log_output = FILE),不能设置binlog-do-db、binlog-ignore-db。

7、跟其他集群一样,为了避免节点出现脑裂而破坏数据,建议Galera集群最低添加3个节点。

8、在高并发的情况下,多主同时写入时可能会发生事务冲突,此时只有一个事务请求会成功,其他的全部失败。可以在写入/更新失败时,自动重试一次,再返回结果。

9、节点中每个节点的地位是平等的,没有主次,向任何一个节点读写效果都是一样的。实际可以配合VIP/LVS或HA使用,实现高可用性。

10、如果集群中的机器全部重启,如机房断电,第一台启动的服务器必须以空地址启动:mysqld_safe –wsrep_cluster_address=gcomm:// >/dev/null &


典型的Galera集群场景


CentOS 6下安装部署Galera Cluster for MySQL集群


安装MySQL with wsrep patch

1.#先安装依赖库

2.yum install libaio gcc gcc-c++ boost-devel scons check-devel openssl-devel

3.ln -sf /usr/lib64/libssl.so.10/usr/lib64/libssl.so.6

4.ln -sf /usr/lib64/libcrypto.so.10/usr/lib64/libcrypto.so.6

5.#下载MySQL with wsrep源码包,目前最新版本是5.5.34-25.9

6.wget https://launchpad.net/codership-mysql/5.5/5.5.34-25.9/+download/mysql-5.5.34_wsrep_25.9-linux-x86_64.tar.gz

7.tar zxvf mysql-5.5*

8.mv mysql-5.5.34_wsrep_25.9-linux-x86_64 /usr/local/mysql

9.cd /usr/local/mysql/

10.groupadd mysql

11.useradd -r -g mysql mysql

12.chown -R mysql:mysql .

13../scripts/mysql_install_db --no-defaults --datadir=/opt/mysqldb/--user=mysql

14.chown -R root .

15.chown -R mysql /opt/mysqldb/

16.echo "export PATH=$PATH:/usr/local/mysql/bin">>/etc/profile

17.source /etc/profile

18.mysqld_safe --wsrep_cluster_address=gcomm:// >/dev/null &


本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2014-09/106679.htm

尊重共享,欢迎转载,请自觉添加本文链接,谢谢!本文链接:https://www.601849.com/post/228.html