首页 > 其他分享 >Mariadb+Galera+MaxScale读写分离集群配置

Mariadb+Galera+MaxScale读写分离集群配置

时间:2022-10-14 15:31:38浏览次数:78  
标签:Galera node mariadb 10.0 MaxScale maxscale yum 集群 Mariadb

部署环境:

node-01:10.0.1.10 centos7.6                                                                 

node-02:10.0.1.11 centos7.6                                                                 

maxscale:10.0.1.9 centos7.6                                                                 

mariadb版本:10.3.36

一、安装MariaDB

1、在一台外网机器上配置yum源                                                                 

cat /etc/yum.repos.d/MariaDB.repo

[mariadb]
name = MariaDB
baseurl = http://mirrors.ustc.edu.cn/mariadb/yum/10.3/centos7-amd64
gpgkey=http://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1

将需要安装的软件包下载到目录,进行离线安装:                                       

yum clean all
yum makecache
yum install -y MariaDB-server MariaDB-client galera --downloadonly --downloaddir=/root/MariaDB-10.3

Mariadb+Galera+MaxScale读写分离集群配置_centos

在node-01上进行yum本地安装

cd /root/MariaDB-10.3
yum localinstall -y *.rpm

启动mariadb数据库

systemctl start mariadb

2、将rpm包scp到另外一台节点,进行同上步骤安装并启动数据库

3、分别在两个节点上创建数据库用户:

mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
CREATE USER scalemon@'%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE, REPLICATION CLIENT, SUPER, RELOAD ON *.* TO scalemon@'%';
CREATE USER maxscale@'%' IDENTIFIED BY '123456';
GRANT SELECT,SHOW DATABASES ON *.* TO maxscale@'%';
CREATE USER exporter@'%' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;

4、在2个节点上均需修改配置 vim /etc/my.cnf.d/server.cnf

[mysqld]
max_cnotallow=5000
max_allowed_packet=1024M
explicit_defaults_for_timestamp=1
innodb_file_per_table=1

[galera]
# Mandatory settings
wsrep_notallow=ON
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address="gcomm://10.0.1.10,10.0.1.11"
wsrep_node_name=master
wsrep_node_address=10.0.1.10
expire_logs_days=1
log_bin=/var/lib/mysql/binlog/bin
log_slave_updates=ON
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
wsrep_slave_threads=2
innodb_flush_log_at_trx_commit=0

注意:需要手动创建/var/lib/mysql/binlog/bin并更改用户和属组为mysql

不同的节点需要更改wsrep_node_name和wsrep_node_address

5、在node-01上创建galera集群:

galera_new_cluster && systemctl enable mariadb

6、在node-02上启动mariadb并加入集群

systemctl start mariadb && systemctl enable mariadb

7、连接mariadb,查看galera集群状态

##显示on表示开启
show status like "wsrep_ready";
##查看集群集群数,2表示正常
show status like "wsrep_cluster_size";
##查看集群集群状态
show status like "wsrep%";

在node-01上创建数据库,在node-02上查看到同步创建,集群功能正常。

二、部署MaxScale

下载软件包:​​https://downloads.mariadb.com/MaxScale/2.5.9/centos/7Server/x86_64/maxscale-2.5.9-1.rhel.7.x86_64.rpm​

安装:

yum localinstall -y maxscale-2.5.9-1.rhel.7.x86_64.rpm

配置/etc/maxscale.cnf

[maxscale]
threads=auto

[server1]
type=server
address=10.0.1.10
port=3306
protocol=MariaDBBackend

[server2]
type=server
address=10.0.1.11
port=3306
protocol=MariaDBBackend

[MariaDB-Monitor]
type=monitor
module=mariadbmon
servers=server1,server2
user=scalemon
password=123456
monitor_interval=10000

[Read-Write-Service]
type=service
router=readwritesplit
servers=server1,server2
user=maxscale
password=123456

[Read-Write-Listener]
type=listener
service=Read-Write-Service
protocol=MariaDBClient
port=4006

启动maxscale:

systemctl start maxscale && systemctl enable maxscale

查看4006端口状态,监听即启动成功

标签:Galera,node,mariadb,10.0,MaxScale,maxscale,yum,集群,Mariadb
From: https://blog.51cto.com/u_15233520/5757047

相关文章

  • 11.1 LAMP架构介绍 11.2 MySQL、MariaDB介绍 11.3/11.4/11.5 MySQL安装
     11.1LAMP架构介绍LAMP是Linux+Apache(httpd)+MySQL+PHP的简称•Linux:操作系统•Apache(httpd):WEB服务器软件,提供WEB服务•MySQL:关系型数据库用于存储数据(字符串)•......
  • MariaDB修改最大连接数
    mariadb数据库最大连接数,默认为151MariaDB[(none)]>showvariableslike'max_connections';+-----------------+-------+|Variable_name|Value|+-------------......
  • centos8安装mariadb
    1.  yuminstall-ymariadb-servermariadbmariadb-devel  -------安装2. systemctlstartmariadb  ---启动服务3. mysql_secure_installation---配置服务4.......
  • Fedora安装mariadb
    开始想安装mysql,有2002错误一直解决不了,各种百度没有效果,装了下maria能装成功,因为maria是基于mysql的,也有那个错误,不过一个命令就解决了。安装:yuminstallmysql-server启......
  • MariaDB
    查询数据库SHOWDATABASES查看mysql用户名和密码的方法1、打开MySql命令窗口;2、输入密码,登录mysql服务器;3、执行“select*frommysql.user”命令即可在输出结果中查看......
  • Docker基础知识 (15) - 部署 MariaDB 集群 (三) | MHA(Master High Availability)高可用
    MHA(MasterHighAvailability),也称主库高可用(或高可用),即在MySQLReplication(主从复制)的基础上,对其进行优化。目前在MySQL高可用方面是一个相对成熟的解决方案,它由日......
  • 1130- Host xxx is not allowed to connect to this MariaDb server非正常案列
      刚刚测试了一个以前在vagrant里面的数据库,报错了,  然后就去找docker里面的mysql   一切都正常  看来又是一个非典型案列啊当我疑惑不解的时......
  • Ubuntu mariadb数据库安装
    1、安装数据库服务器和客户端sudoapt-getinstallmariadb-servermariadb-client2、安装Mariadb信息查询sudoaptinstalllibmariadb-dev-compat3、makefil......
  • MySQL/MariaDB如何创建用户并限制指定才能IP访问?
    MySQL/MariaDB如何创建用户并限制指定才能IP访问?登入数据$mysql--versionmysqlVer15.1Distrib10.9.3-MariaDB,fordebian-linux-gnu(x86_64)usingreadline......
  • 【MySQL】MariaDB使用connect引擎直接访问SQLServer数据库
    场景:mariadb通过connect引擎,访问sqlserver2008中的数据。1.安装connect存储引擎如果mariadb是使用二进制包安装的话,默认已经安装了connect存储引擎否则就需要执行手......