一、安装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