mariadb数据库galera群集配置

一、安装mariadb数据库和galera群集
注:10.1以后安装数据库时自动安装galera群集软件
1、安装
1.1)安装数据库和群集软件
安装源地址:https://downloads.mariadb.org/mariadb/repositories/

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirrors.syringanetworks.net/mariadb/repo/10.4/ubuntu bionic main'(不同版本,这里不一样)
sudo apt update
sudo apt install mariadb-server

1.2)默认情况root没有密码,设置一个密码
登录:sudo mysql -uroot
设置密码:set password=password('888888');
退出:quit;

1.3)停掉数据库服务
sudo systemctl stop mysql
图片


1.4)安装rsync(群集同步方式使用)
sudo apt install rsync

在每一台服务器上都进行以上安装操作

2、配置(每台服务器都要配置)
2.1)群集配置文件
sudo nano /etc/mysql/conf.d/galera.cnf

[mysqld]
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0

# Galera Provider Configuration
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so

# Galera Cluster Configuration
wsrep_cluster_name="test_cluster"
wsrep_cluster_address="gcomm://192.168.1.251,192.168.1.252,192.168.1.253,192.168.1.254"

# Galera Synchronization Configuration
wsrep_sst_method=rsync

# Galera Node Configuration
wsrep_node_address="192.168.1.251"
wsrep_node_name="node251"

2.2)防火墙端口配置
3306,4567,4568,4444
sudo ufw allow 3306,4567,4568,4444/tcp
sudo ufw allow 4567/udp

3、启动群集节点

首节点启动:
sudo galera_new_cluster

群集重启时有时启动不了问题:
1、关闭mysql进程:
    ps -ef|grep mysql
    kill -9 进程ID
2、修改safe_to_bootstrap为1
sudo nano  /var/lib/mysql/grastate.dat

注意:
如果剩余2个节点运行出现脑裂情况时使用以下SQL语句将非主组件提升为主组件:
SET GLOBAL wsrep_provider_options='pc.bootstrap=YES';
 

其他节点启动:
sudo systemctl status mysql

检查群集节点状态和数量
show status like 'wsrep_cluster_status';
show status like 'wsrep_cluster_size';


mysql -uroot -p -e "show status like 'wsrep_cluster_status'"
mysql -uroot -p -e "show status like 'wsrep_cluster_size'"

二、负载均衡
1、安装
需要提前安装
sudo apt install autoconf
sudo apt install libtool
sudo apt install build-essential

$ git clone https://github.com/codership/glb
$ cd glb
$ ./bootstrap.sh
$ ./configure
$ make
$ sudo make install
$ whereis glbd
以上生成了可执行程序,下边配置成服务

$ cd files
$ sudo cp glbd.sh /etc/init.d/glbd
$ sudo cp glbd.cfg /etc/default/glbd
$ sudo reboot

2、配置
sudo nano /etc/default/glbd
加入以下代码:

# Galera Load Balancer Configuration
LISTEN_ADDR="3306" #如果这台服务器上安装了mysql,这里就不能使用3306了
DEFAULT_TARGETS="192.168.1.251:3306 192.168.1.252:3306 192.168.1.253:3306 192.168.1.254:3306"


3、启动服务
$ sudo systemctl start glbd

4、连接测试
  192.168.1.250:3306

原文地址:https://www.cnblogs.com/xiaomacs/p/11697104.html