Mariadb配置Galera集群

一、增加MariaDB源

cd /etc/yum.repos.d

vi MariaDB.repo

# MariaDB 10.1 CentOS repository list - created 2017-04-20 03:29 UTC

# http://downloads.mariadb.org/mariadb/repositories/

[mariadb]

name = MariaDB

baseurl = http://yum.mariadb.org/10.1/centos6-amd64

gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

gpgcheck=1

如果官方源比较慢,可以使用国内阿里云的源:

[mariadb]

name = MariaDB

baseurl=http://mirrors.aliyun.com/mariadb/mariadb-10.2.6/yum/centos7-amd64

gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

gpgcheck=1

二、安装

yum install MariaDB-server MariaDB-client

安装完成后启动mysql服务(虽然改名叫mariadb,但服务名还是叫mysql)

service mysql start

三、配置

运行mysql_secure_installation设置数据库root用户密码等。

设置完密码后,使用root用户登录mariadb,设置root用户权限:

mysql –uroot –p

GRANT ALL ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘Enjoylink$2017‘ with grant option;

FLUSH PRIVILEGES;

quit

如果安装完成后,遇到无法登录mysql:

[[email protected] ~]# mysql_secure_installation

Enter current password for root (enter for none):

ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)

此时,先关闭mysql服务

service mysql stop

编辑server.cnf文件

vi /etc/my.cnf.d/server.cnf

在[mysqld]中加上

[mysqld]

skip-grant-tables

忽略掉登录权限,然后无密码登录mysql,并修改root账户密码:

update user set password=PASSWORD("123456") where user=‘root‘;

修改成功后退出,把skip-grant-tables去掉,重启mysql服务即可。

四、设置iptables,开放3306端口让数据库可以远程访问

vi /etc/sysconfig/iptables

增加:-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

保存,并重启iptables服务

service iptables restart

五、配置数据库集群(Galera Cluster)

三个节点都需要做以下工作:

创建同步用户:

CREATE USER ‘syncUser‘@‘%‘ IDENTIFIED BY ‘sync$2017‘;

授权:

GRANT ALL ON *.* TO ‘syncUser‘@‘%‘ IDENTIFIED BY ‘sync$2017‘ with grant option;

配置HOSTS:

在三台服务器中添加hosts设置,

vi /etc/hosts

10.243.3.27 dbnode1

10.243.3.17 dbnode2

10.34.2.200 dbnode3

停止所有节点上的mysql服务

service mysql stop

六、配置Mariadb服务

在所有节点服务器中都添加集群配置:

vi /etc/my.cnf.d/server.cnf

[galera]

wsrep_on=ON

wsrep_provider=/usr/lib64/galera/libgalera_smm.so

wsrep_cluster_address="gcomm://dbnode1,dbnode2,dbnode3"

binlog_format=row

default_storage_engine=InnoDB

innodb_autoinc_lock_mode=2

七、停止SELinux安全限制

在所有节点上停止SELinux服务:

暂时停止:setenforce 0

永久停止:vi /etc/selinux/config

将SELINUX的值改一下:SELINUX=disabled

八、开放iptables防火墙端口

vi /etc/sysconfig/iptables

添加以下几个端口:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 4567 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 4444 -j ACCEPT

九、启动集群主节点

It may not be safe to bootstrap the cluster from this node. It was not the last one to leave the cluster and may not contain all the updates. To force cluster bootstrap with this node, edit the grastate.dat file manually and set safe_to_bootstrap to 1 .

如果在所有集群节点都死光的情况下,两次启动集群时,应该在最后一台死的节点上启动。

service mysql start --wsrep_new_cluster

  • or

service mysql bootstrap

十、启动其它节点

service mysql start

十一、    查看集群状态

在主节点上登录Mariadb后,可以查看集群状态:

MariaDB [(none)]> show status like ‘wsrep_%‘;

+------------------------------+----------------------------------------------------+

| Variable_name                | Value                                              |

+------------------------------+----------------------------------------------------+

| wsrep_apply_oooe             | 0.000000                                           |

| wsrep_apply_oool             | 0.000000                                           |

| wsrep_apply_window           | 1.000000                                           |

| wsrep_causal_reads           | 0                                                  |

| wsrep_cert_deps_distance     | 4.133333                                           |

| wsrep_cert_index_size        | 8                                                  |

| wsrep_cert_interval          | 0.000000                                           |

| wsrep_cluster_conf_id        | 9                                                  |

| wsrep_cluster_size           | 3                                                  |

| wsrep_cluster_state_uuid     | 0bdf4eb0-50e1-11e7-a4f3-9bce02f737ae               |

| wsrep_cluster_status         | Primary                                            |

| wsrep_commit_oooe            | 0.000000                                           |

| wsrep_commit_oool            | 0.000000                                           |

| wsrep_commit_window          | 1.000000                                           |

| wsrep_connected              | ON                                                 |

| wsrep_desync_count           | 0                                                  |

| wsrep_evs_delayed            |                                                    |

| wsrep_evs_evict_list         |                                                    |

| wsrep_evs_repl_latency       | 0.00394587/0.00611148/0.00826421/0.00192492/4      |

| wsrep_evs_state              | OPERATIONAL                                        |

| wsrep_flow_control_paused    | 0.000000                                           |

| wsrep_flow_control_paused_ns | 0                                                  |

| wsrep_flow_control_recv      | 0                                                  |

| wsrep_flow_control_sent      | 0                                                  |

| wsrep_gcomm_uuid             | 0b6d316f-50e3-11e7-addf-a66dba4d326d               |

| wsrep_incoming_addresses     | 10.34.2.200:3306,10.243.3.27:3306,10.243.3.17:3306 |

| wsrep_last_committed         | 15                                                 |

| wsrep_local_bf_aborts        | 0                                                  |

| wsrep_local_cached_downto    | 1                                                  |

| wsrep_local_cert_failures    | 0                                                  |

| wsrep_local_commits          | 15                                                 |

| wsrep_local_index            | 0                                                  |

| wsrep_local_recv_queue       | 0                                                  |

| wsrep_local_recv_queue_avg   | 0.000000                                           |

| wsrep_local_recv_queue_max   | 1                                                  |

| wsrep_local_recv_queue_min   | 0                                                  |

| wsrep_local_replays          | 0                                                  |

| wsrep_local_send_queue       | 0                                                  |

| wsrep_local_send_queue_avg   | 0.000000                                           |

| wsrep_local_send_queue_max   | 1                                                  |

| wsrep_local_send_queue_min   | 0                                                  |

| wsrep_local_state            | 4                                                  |

| wsrep_local_state_comment    | Synced                                             |

| wsrep_local_state_uuid       | 0bdf4eb0-50e1-11e7-a4f3-9bce02f737ae               |

| wsrep_protocol_version       | 7                                                  |

| wsrep_provider_name          | Galera                                             |

| wsrep_provider_vendor        | Codership Oy <[email protected]>                  |

| wsrep_provider_version       | 25.3.20(r3703)                                     |

| wsrep_ready                  | ON                                                 |

| wsrep_received               | 22                                                 |

| wsrep_received_bytes         | 2308                                               |

| wsrep_repl_data_bytes        | 8491                                               |

| wsrep_repl_keys              | 51                                                 |

| wsrep_repl_keys_bytes        | 753                                                |

| wsrep_repl_other_bytes       | 0                                                  |

| wsrep_replicated             | 15                                                 |

| wsrep_replicated_bytes       | 10204                                              |

| wsrep_thread_count           | 2                                                  |

+------------------------------+----------------------------------------------------+

58 rows in set (0.00 sec)

原文地址:https://www.cnblogs.com/leoly/p/9306784.html

时间: 2024-11-09 13:41:54

Mariadb配置Galera集群的相关文章

mariadb galera集群配置

最近在看一些关于数据库的资料,从最开始的mysql的主从复制到mysql的双主+heartbeat实现mysql的高可用再到mysql+drbd+heartbeat实现底层数据同步的双主高可用再到mysql_mmm+amoeba实现双主多从的高可用和负载均衡以及读写分离,再到后来发现mysql自从被Oracle收购后已经越来越走向了封闭,更新也不如以前频繁,并且新版的mysql已经不支持GPL协议了...感觉mysql已经在Oracle手中渐渐没落了...后来发现了一个更好的替代方案那就是mar

MariaDB Galera集群部署--技术流ken

Galera集群介绍 MariaDB集群是MariaDB同步多主机集群.它仅支持XtraDB/ InnoDB存储引擎. 主要功能 同步复制 真正的multi-master,即所有节点可以同时读写数据库 自动的节点成员控制,失效节点自动被清除 新节点加入数据自动复制 真正的并行复制,行级 用户可以直接连接集群,使用感受上与MySQL完全一致 优势 因为是多主,所以不存在Slavelag(延迟) 不存在丢失事务的情况 同时具有读和写的扩展能力 更小的客户端延迟 节点间数据是同步的,而Master/S

Mysql、MariaDB 新型主从集群配置GTID

前文谢了<Mysql.MariaDB 传统主从集群配置>,该技术已经非常成熟.从Mysql5.6和MariaDB10.0开始,有了新型的主从方案GTID,不过这两个系统到这个版本出现了分支,具体实现已经不同,配置方法也不同,下文分别讲述. MariaDB: 我用的版本还是10.1版,目前该版本还不是稳定版,但不影响测试.先部署部署好两个数据库实例,参见http://bangbangba.blog.51cto.com/3180873/1701857 直到创建好复制用户. 我们这里的由于是新创建的

使用GTID给Galera集群做数据库异步复制

一.为什么要做Galera集群异步复制 Galera集群解决了数据库高可用的问题,但是存在局限性,例如耗时的事务处理可能会导致集群性能急剧下降,甚至出现阻塞现象.而不幸的是,类似报表等业务需求就需要做数据大批量的数据查询操作,为了不影响Galera的集群效率,需要做数据异步复制,产生一个从库来适配耗时的数据操作需求. 由于Galera集群的特殊性,我们不能使用一般的主从复制来实现数据异步复制的要求.集群中每台mariadb都会单独的记录binlog,使得一般的主从配置只能获取到单台数据的变更事件

配置ZooKeeper集群11

配置ZooKeeper集群(Windows环境下) 1.解压三个zookeeper目录 D:\zookeeper\zookeeper-1 D:\zookeeper\zookeeper-2 D:\zookeeper\zookeeper-3 2.在这3个目录下面建立data和log目录,并在data目录下面新建myid文件 myid的文件内容分别为:1.2.3 3.在conf目录下面复制zoo_sample.cfg文件为zoo.cfg文件 4.修改zoo.cfg文件 # The number of

配置ZooKeeper集群

配置ZooKeeper集群(Windows环境下) 1.解压三个zookeeper目录 D:\zookeeper\zookeeper-1 D:\zookeeper\zookeeper-2 D:\zookeeper\zookeeper-3 2.在这3个目录下面建立data和log目录,并在data目录下面新建myid文件 myid的文件内容分别为:1.2.3 3.在conf目录下面复制zoo_sample.cfg文件为zoo.cfg文件 4.修改zoo.cfg文件 # The number of

安装、配置Redis集群

安装.配置Redis集群 目录 安装.配置Redis集群... 1 1.配置yum... 1 2.安装gcc. 1 3.下载软件包... 2 4.安装(主从都需要安装) 2 5.配置redis集群... 3 6.启动与关闭... 4 7.安装ruby rubygems. 4 8.初始化集群... 4 注:本例操作系统为Red Hat Enterprise Linux Server release 6.4 1.配置yum 未注册的Redhat不支持yum,调整步骤: cd /etc/yum.rep

为Linux集群创建新账户,并配置hadoop集群

转自:http://blog.csdn.net/bluesky8640/article/details/6945776 之前装python.jdk.hadoop都是用的root账户,这是一个绝对的失策,linux对用户访问权限很严格,新创的hod账户根本无法启动hadoop,而root在hod模式下使用torque是不被建议的,所以只能用hod账户再重新装一遍. 创建用户.设置密码.修改用户.删除用户: useradd testuser   创建用户testuserpasswd testuser

CentOS 6.6 上使用 luci/ricci 安装配置 RHCS 集群

1.配置 RHCS 集群的前提: 时间同步 名称解析,这里使用修改/etc/hosts 文件 配置好 yum 源,CentOS 6 的默认的就行 关闭防火墙(或者开放集群所需通信端口),和selinux, 关闭 NetworkManager 服务 2. RHCS 所需要的主要软件包为 cman 和 rgmanager cman: 是集群基础信息层,在 CentOS 6中依赖 corosync rgmanager: 是集群资源管理器, 类似于pacemaker 的功能 luci: 提供了管理 rh