下文给大家带来关于部署MySQL Galera集群的具体操作方法,感兴趣的话就一起来看看这篇文章吧,相信看完部署MySQL Galera集群的具体操作方法对大家多少有点帮助吧。
0。功能简介
特性
- <李>基于行复制的完全并行同步复制李> <李>实时多主架构,任意节点可读写李> <>李无延迟复制,事务零丢失,可靠健壮的读写体验。李> <李>自动化节点关系控制:节点故障自动摘除,节点加入自动协调李> <>李接近原生的MySQL数据库连接的体验李>
原理简析
当一个事务在当前写入的节点提交后,通过wsrep API(写设置复制API)将这个事务变成写集(写)广播到同集群的其他节点中,其他节点收到写集事务后,对这个事务进行可行性检查,并返回结果给wsrep API。
若大多数节点都预估自己可以成功执行这个事务,则wsrep API会做出仲裁,通知所有可以成功执行这个事务的节点提交这个事务,并将事务成功提交的消息返回给客户端,同时根据需要剔除没有成功执行事务的节点
galera共享库
galera本身是作为一个插件式的共享库文件,MySQL通过调用galera写集复制API挂钩,获得galera集群特性。
galera共享库组成部分
galera库是一个提供准备,复制,应用写集事务功能的协议栈,其重要组成部分为:
wsrep API:写集复制功能组件,负责提供关系型数据库管理与复制服务,定义接口
wsrep钩子:在数据库引擎中的集成写集组件
Gelera提供者:将共享库转化为wsrep API
认证层:保护写集并完整性,验证写集完整性
复制:管理复制协议,提供完整的指令系统
GCS支架:为集群组通信提供插件架构
1。环境准备
MySQL版本:5.6.41
192.168.33.14 node4
192.168.33.15 node5
192.168.33.16 node6
修改主机文件
vim/etc/hosts 192.168.33.14 node4 192.168.33.15 node5 192.168.33.16 node6
2。安装带wsrep的mysql版本
#分别在3台服务器上安装mysql #安装基本工具 百胜是安装lsof rsync wget #解压 wget http://releases.galeracluster.com/mysql - wsrep 5.6 -/- binary/mysql wsrep 5.6.41 - 25.23 - linux - x86_64.tar.gz tar xf mysql - wsrep 5.6.41 - 25.23 - linux - x86_64.tar.gz mv mysql - wsrep 5.6.41 - 25.23 - linux - x86_64/usr/local/mysql #创建用户及用户组 groupadd - g 306 mysql useradd - u 306 - g 306 mysql 乔恩- r mysql: mysql/usr/local/mysql #安装依赖 百胜是安装perl-Module-Install cd/usr/local/mysql 。/脚本/mysql_install_db——用户=mysql——basedir=/usr/地方/mysql——datadir=/home/mysql/mysqldata #配置开机启动 cp支持文件/mysql。服务器/etc/init.d/mysqld chmod + x/etc/init.d/mysqld 如果grep & # 39; ^ basedir=$ & # 39;/etc/init.d/mysqld祝辞/dev/null;然后 ,,sed - i & # 39; s # ^ basedir=$ # basedir=/usr/地方/mysql # & # 39;/etc/init.d/mysqld fi 如果grep & # 39; ^ datadir=$ & # 39;/etc/init.d/mysqld祝辞/dev/null;然后 ,,sed - i & # 39; s # ^ datadir=$ # datadir=/home/mysql/mysqldata # & # 39;/etc/init.d/mysqld fi chkconfig——添加mysqld chkconfig mysqld上 服务mysqld开始 #添加环境变量 猫在/etc/profile.d/mysql.sh & lt; & lt; EOF 导出路径=/usr/地方/mysql/bin:美元的道路 EOF 源/etc/profile #初始化配置 mysql_secure_installation & lt; & lt; EOF y oeasy808 oeasy808 y n y y EOF #配置完成之后,停止mysql服务 服务mysqld停止
3。安装galera
#分别在3台服务器上安装galera wget http://releases.galeracluster.com/galera 3/centos/7/x86_64/galera el7.x86_64.rpm——3 - 25.3.24 - 2. 百胜是安装galera - 3 - 25.3.24 - 2. - el7.x86_64.rpm
4。配置集群
ip_addr=$ (ip addr显示美元(ip路由默认| | grep awk & # 39;{打印5美元}& # 39;)| grep inet | grep阿宝& # 39;(\ d + \) {3} \ d + & # 39;| awk & # 39;{打印1美元;退出}& # 39;) mysql_id=$ (echo $ ip_addr | awk - f。& # 39;{打印$ NF} & # 39;) 猫在/etc/my.cnf & lt; & lt; EOF (mysqld) skip-name-resolve=1 binlog_format=行 default-storage-engine=innodb innodb_autoinc_lock_mode=2 innodb_locks_unsafe_for_binlog=1 query_cache_size=0 query_cache_type=0 bind_address=$ {ip_addr} 服务器id=$ {mysql_id} wsrep_on=对 wsrep_provider=/usr/lib64/galera-3/libgalera_smm.so wsrep_cluster_name=癵alera_cluster" wsrep_cluster_address=癵comm://192.168.33.14,192.168.33.15,192.168.33.16"#全部集群节点 wsrep_node_name=cluster1 #节点名称,唯一 wsrep_slave_threads=1 wsrep_certify_nonPK=1 wsrep_max_ws_rows=131072 wsrep_max_ws_size=1073741824 wsrep_debug=0 wsrep_convert_LOCK_to_trx=0 wsrep_retry_autocommit=1 wsrep_auto_increment_control=1 wsrep_drupal_282555_workaround=0 wsrep_causal_reads=0 # wsrep_notify_cmd=wsrep_sst_method=rsync wsrep_sst_auth=根:oeasy808 #安装mysql时配置的密码 EOF部署MySQL Galera集群的具体操作方法