1.环境 系统信息 CentOS-6.5-x86_64 服务器节点IP:192.168.1.200 , 192.168.1.201 , 192.168.1.202 2.关闭SELinux 修改/etc/selinux/config 文件 将SELINUX=enforcing改为SELINUX=disabled 重启机器(可以通过/usr/sbin/sestatus -v 查看状态) 3.安装基础软件支撑
4.安装Mariadb Galera Cluster
运行
安装结束后启动MySQL服务,service mysql start 执行 mysql_secure_installation 进行数据库环境初始化 设置数据库编码为UTF-8,refer to https://gitsea.com/2014/08/05/centos-web-server-init/ 5.防火墙设置 在/etc/sysconfig/iptables 增加如下两条
重启防火墙 service iptables restart 6.配置集群
在 [mariadb-10.0]下面增加如下内容
201 服务器需要修改地方如下
202 服务器需要修改地方如下
启动192.168.1.200服务器
随后启动其他两个mysql服务 service mysql start 登录任意一台服务器节点通过 show status like ‘wsrep%’ 命令可以查看集群状态
现在可以在任意一个节点进行数据操作,其他节点会自动进行同步 关于动态增加节点,只需要在/etc/my.cnf.d/server.conf 修改 wsrep_cluster_address=”gcomm://192.168.1.200″ 地址为cluster其中一个节点即可, 然后通过service mysql start 启动服务,会自动增加到集群节点中 注意点:集群是乐观的并发控制,如果有两个事务同时向集群中不同的节点同一行写入并提交,失败的节点将中止,会造成死锁问题 通过设置单点写入多点读取的方式可以解决此问题。下面链接是其中一种解决方案 http://www.severalnines.com/blog/avoiding-deadlocks-galera-set-haproxy-single-node-writes-and-multi-node-reads 目前存在的一些问题可以参考 https://mariadb.com/kb/en/mariadb/documentation/replication-cluster-multi-master/galera/mariadb-galera-cluster-known-limitations/ 参考链接:https://mariadb.com/kb/en/mariadb/documentation/replication-cluster-multi-master/galera/getting-started-with-mariadb-galera-cluster/ (责任编辑:IT) |