返回顶部
首页 > 资讯 > 数据库 >如何进行mysql的galera_cluster安装配置
  • 921
分享到

如何进行mysql的galera_cluster安装配置

2024-04-02 19:04:59 921人浏览 安东尼
摘要

本篇文章为大家展示了如何进行Mysql的galera_cluster安装配置,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 本次试验都是

本篇文章为大家展示了如何进行Mysql的galera_cluster安装配置,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

本次试验都是用rsync同步的,xtrabackup第三个节点起不来,而且在做将数据文件全部删除恢复时xtrabackup不能恢复
SST :全量恢复
IST : 增量恢复

注意事项:
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 &


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


1、# cat /etc/hosts
172.16.100.131   node1
172.16.100.224   node2
172.16.99.161 node3


2、修改文件描述符65535
# vim /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535


3、# vim /etc/sysctl.conf 
fs.file-max=655350
net.ipv4.ip_local_port_range = 1025 65000
net.ipv4.tcp_tw_reuse = 1

# sysctl -p


4、安装percona xtrabackup备份工具

如二进制安装的
# tar zxvf percona-xtrabackup-2.3.2-linux-x86_64.tar.gz
# cd percona-xtrabackup-2.3.2-Linux-x86_64/bin/
# cp -a * /usr/bin/
rpm则略


5、下载地址
Codership下载地址:
Http://releases.galeracluster.com/binary/mysql-wsrep-5.6.31-25.16-linux-x86_64.tar.gz
# tar xvfz mysql-wsrep-5.6.31-25.16-linux-x86_64.tar.gz 
# mv mysql-wsrep-5.6.31-25.16-linux-x86_64 /usr/local/mysql


6、安装Galera复制插件
https://launchpad.net/galera/3.x/25.3.5/+download/galera-25.3.5-src.tar.gz
tar zxvf galera-*
cd galera-*
scons
cp garb/garbd /usr/local/mysql/bin/
cp libgalera_smm.so /usr/local/mysql/lib/plugin/
注:scons yum源中没有找到,下载的tar包
# python setup.py install  


7、
# vim /etc/my.cnf
[mysqld]
server_id=129
datadir=/data/galera
Socket=/tmp/mysql.sock
user=mysql
skip-external-locking
skip-name-resolve
character-set-server = utf8
###########################################################
##Galera Cluster
wsrep_provider =/usr/local/mysql/lib/plugin/libgalera_smm.so      ----设置galera类库
#wsrep_cluster_address="gcomm://172.16.100.131,172.16.100.224,172.16.99.161"    每个节点的ip地址
#wsrep_provider_options="gcache.size=4G"     ----类似于缓存的大小,增量恢复都靠这个,默认128M
wsrep_cluster_name=MariaDB Galera Cluster     ------集群名字,随便起
wsrep_sst_auth=admin:123456                   ------同步的用户名密码, 必须是all权限
#wsrep_sst_method=xtrabackup-v2           -------同步方式,还有mysqldump和rsync
wsrep_sst_method=rsync
#wsrep_sst_method=mysqldump
wsrep_node_name=172.16.100.224            ------节点名称,可以是ip或者服务器名字(每个节点的名称不一样)
wsrep_slave_threads=2          -------开启并行复制线程,根据CPU核数设置
wsrep_on=ON           --------开启全同步复制模式
binlog_fORMat   =  ROW    必须为row模式
innodb_flush_log_at_trx_commit = 0    ----因为Galera Cluster的节点恢复是通过远端节点,这里为了性能考虑,设置为0,即事务提交每隔1秒刷盘
innodb_autoinc_lock_mode=2      ------将主键自增模式修改为交叉模式
query_cache_size = 0   ------ 关闭查询缓存


8.初始化
# cd /usr/local/mysql/scripts/
./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/galera


9.第一个节点启动
 ./mysqld_safe --user=mysql --wsrep-cluster-address="gcomm://" &
注:--wsrep-new-cluster         第一次启动要加上--wsrep-new-cluster参数,以后再重启不用加了(不确定加不加,反正都能起来)
进入数据库
mysql> grant all on *.* to admin@'%' identified by '123456';
必须是all权限


第二个节点和第三个节点就正常启动就好了,有几个节点就添加就好了
./mysqld_safe --user=mysql --wsrep-cluster-address="gcomm://172.16.100.131:4567,172.16.100.224:4567" &
./mysqld_safe --user=mysql --wsrep-cluster-address="gcomm://172.16.100.131:4567,172.16.99.161:4567"  &
进入数据库查看
mysql> show status like '%ws%';
wsrep_cluster_size           | 3 
wsrep_cluster_status         | Primary
wsrep_ready                  | ON
看到这几个就没问题了

在查看一下admin用户是否自动创建了

注:要使用xtrabackup做同步需要安装lsof socat tar    其中socat我的yum源中没有找到
   下载地址:
http://www.dest-unreach.org/socat/download/socat-2.0.0-b9.tar.gz
# tar xvrz socat-2.0.0-b9.tar.gz
# cd socat-2.0.0-b9
#./configure
#make && make install
在重启第二个节点和第三个节点,第二个起来了,第三个起不来了
报错如下:
2016-07-29 01:09:36 30877 [Note] WSREP: Member 0.0 (172.16.99.161) requested state transfer from '*any*'. Selected 1.0 (172.16.100.131)(SYNCED) as donor.
2016-07-29 01:09:36 30877 [Note] WSREP: Shifting PRIMARY -> JOINER (TO: 4)
2016-07-29 01:09:36 30877 [Note] WSREP: Requesting state transfer: success, donor: 1
2016-07-29 01:09:36 30877 [Warning] WSREP: 1.0 (172.16.100.131): State transfer to 0.0 (172.16.99.161) failed: -2 (No such file or directory)
2016-07-29 01:09:36 30877 [ERROR] WSREP: gcs/src/gcs_group.c:gcs_group_handle_join_msg():723: Will never receive state. Need to abort.
2016-07-29 01:09:36 30877 [Note] WSREP: gcomm: terminating thread
2016-07-29 01:09:36 30877 [Note] WSREP: gcomm: joining thread
2016-07-29 01:09:36 30877 [Note] WSREP: gcomm: closing backend
2016-07-29 01:09:36 30877 [Note] WSREP: view(view_id(NON_PRIM,0ee11156-54e6-11e6-b16e-a303ff8a662b,11) memb {
        0ee11156-54e6-11e6-b16e-a303ff8a662b,0
} joined {
} left {
} partitioned {
        4d838aa2-5633-11e6-ba70-fb0ade4193cd,0
        d1533158-6a9f-11e6-bea7-7fa18ade38f5,0
})
2016-07-29 01:09:36 30877 [Note] WSREP: view((empty))
2016-07-29 01:09:36 30877 [Note] WSREP: gcomm: closed
2016-07-29 01:09:36 30877 [Note] WSREP: /usr/local/mysql/bin/mysqld: Terminated.
160729 01:09:36 mysqld_safe mysqld from pid file /data/galera/zabbixserver.pid ended
具体原因不明,最后用的rsyc的同步方式进行同步


10、测试
用xtrabackup不行,全都换了rsync了
将第三个节点的数据文件删除掉,在配合文件中指定从哪个节点恢复 在my.cnf中添加wsrep_sst_donor=172.16.100.224(从第二个节点恢复),重启,没有问题。看日志。

上述内容就是如何进行mysql的galera_cluster安装配置,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: 如何进行mysql的galera_cluster安装配置

本文链接: https://lsjlt.com/news/62120.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何进行mysql的galera_cluster安装配置
    本篇文章为大家展示了如何进行mysql的galera_cluster安装配置,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 本次试验都是...
    99+
    2024-04-02
  • 如何进行zabbix的安装配置
    如何进行zabbix的安装配置,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。ZABBIX服务端安装zabbix服务器端需要LAMP环境,即linux、appache、mysql...
    99+
    2023-06-06
  • 如何进行VNC安装配置
    这篇文章给大家介绍如何进行VNC安装配置,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。VNC安装配置 Linux上安装某个软件时,经常需要启动图形,有时候Xmanager,xshell,xstart等工具无法正常启动图...
    99+
    2023-06-06
  • 如何进行git的下载、安装以及配置
    如何进行git的下载、安装以及配置,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。第一:git的介绍git(读音为/gɪt/。)是一个开源的分布式版本控制系统可以...
    99+
    2023-06-28
  • mysql如何安装配置
    这篇文章将为大家详细讲解有关mysql如何安装配置,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。  mysql怎么安装  >configure--prefix=/m...
    99+
    2024-04-02
  • 如何进行CentOS 6安装JDK及系统配置
    今天就跟大家聊聊有关如何进行CentOS 6安装JDK及系统配置,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一直对CentOS情有独钟,但因为很少用到,所以基本上不该忘的都忘了,该...
    99+
    2023-06-16
  • 如何安装配置mysql 5.7.23
    这篇文章将为大家详细讲解有关如何安装配置mysql 5.7.23,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。本文记录了mysql5.7.23安装详细过程,分享给大家。1...
    99+
    2024-04-02
  • 如何安装配置mysql 8.0.12
    这篇文章将为大家详细讲解有关如何安装配置mysql 8.0.12,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。记录了mysql 8.0.12下载安装教程,分享给大家。如图...
    99+
    2024-04-02
  • mysql 8.0.15如何安装配置
    这篇文章主要介绍了mysql 8.0.15如何安装配置,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.环境系统:windows 64位my...
    99+
    2024-04-02
  • mysql 8.0.17如何安装配置
    这篇文章主要介绍了mysql 8.0.17如何安装配置,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。安装程序下载:首先是登录MySQL的官网...
    99+
    2024-04-02
  • mysql 8.0.11如何安装配置
    这篇文章给大家分享的是有关mysql 8.0.11如何安装配置的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。安装环境:win71、下载zip安装包:MySQL8.0 For Wi...
    99+
    2024-04-02
  • mysql 5.7.24如何安装配置
    这篇文章主要介绍了mysql 5.7.24如何安装配置,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.运行环境:window102.下载对...
    99+
    2024-04-02
  • 如何安装配置mysql-5.7.21
    这篇文章将为大家详细讲解有关如何安装配置mysql-5.7.21,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、将下载好的mysql压缩包解压到安装目录下2、新建文件 ...
    99+
    2024-04-02
  • mysql 8.0.14如何安装配置
    小编给大家分享一下mysql 8.0.14如何安装配置,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!,具体内容如下1.下载找到z...
    99+
    2024-04-02
  • mysql 5.7.27如何安装配置
    这篇文章给大家分享的是有关mysql 5.7.27如何安装配置的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.下载步骤访问官方网站:https://www.mysql.com/...
    99+
    2024-04-02
  • 怎样进行VNC的安装和配置
    本篇文章给大家分享的是有关怎样进行VNC的安装和配置,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1.服务器安装VNC服务端可以直接rpm安装vnc的服务端:rpm ...
    99+
    2023-06-06
  • mysql中如何进行xtrabackup-2.4.12的安装
    本篇文章为大家展示了mysql中如何进行xtrabackup-2.4.12的安装,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。版本说明:备份工具:percona-xtrabackup-2.4.12-...
    99+
    2023-06-06
  • 如何进行CentOS vsftpd使用安装与配置问题
    如何进行CentOS vsftpd使用安装与配置问题,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。CentOS vsftpd安装不用说了,服务启动也不用说了,关键是服务启动...
    99+
    2023-06-16
  • mysql8怎么配置my.ini进行安装
    本篇内容主要讲解“mysql8怎么配置my.ini进行安装”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql8怎么配置my.ini进行安装”吧!说明在mysql-8.0.19-win64文...
    99+
    2023-06-20
  • nginx mysql php如何安装配置
    本文操作环境:centos7系统、php 7.2.25版、DELL G3电脑nginx mysql php如何安装配置?CentOS7 下nginx与PHP mysql的安装与配置:下载Nginx  首先安装的依赖包:    gcc aut...
    99+
    2017-05-13
    nginx mysql php
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作