900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 银河麒麟服务器操作系统V10SP2搭建mysql的galera集群

银河麒麟服务器操作系统V10SP2搭建mysql的galera集群

时间:2021-10-24 20:04:55

相关推荐

银河麒麟服务器操作系统V10SP2搭建mysql的galera集群

传统架构的使用,一直被人们所诟病,因为MySQL的主从模式,天生的不能完全保证数据一致,很多大公司会花很大人力物力去解决这个问题,而效果却一般,可以说,只能是通过牺牲性能,来获得数据一致性,但也只是在降低数据不一致性的可能性而已。所以现在就急需一种新型架构,从根本上解决这样的问题,天生的摆脱掉主从复制模式这样的 美中不足 之处了。

Galera Cluster :集成了Galera插件的MySQL集群,是一种新型的,数据不共享的,高度冗余的高可用方案,多节点都可以作为主节点,节点是对等的,当有客户端要写入或者读取数据时,随便连接哪个实例都是一样的,读到的数据是相同的,写入某一个节点之后,集群自己会将新数据同步到其它节点上面,这种架构不共享任何数据,是一种高冗余架构。相比传统架构,Galera Cluster解决的最核心问题是,在三个实例(节点)之间,它们的关系是对等的,multi-master架构的,在多节点同时写入的时候,能够保证整个集群数据的一致性,完整性与正确性。

1、卸载麒麟系统自带mariadb

[root@192 ~]# rpm -qa |grep mariadbmariadb-common-10.3.9-9.p02.ky10.x86_64mariadb-server-10.3.9-9.p02.ky10.x86_64mariadb-errmessage-10.3.9-9.p02.ky10.x86_64mariadb-10.3.9-9.p02.ky10.x86_64mariadb-connector-c-3.0.6-7.ky10.x86_64[root@192 ~]# rpm -e --nodeps mariadb-common mariadb mariadb-server mariadb-connector-c mariadb-errmessage

2、测试环境

#修改3台机器主机名[root@galera1 /]# hostnamectl set-hostname galera1#修改3台机器的/etc/hosts文件,添加如下内容192.168.1.4 galera1192.168.1.5 galera2192.168.1.6 galera3

3、安装mysql-wsrep(下载编译好的二进制文件)

下载地址:/mysql-wsrep-8.0/binary/

[root@192 ~]# mv /root/下载/mysql-wsrep-8.0.30-26.11.tar.gz /usr/local/[root@192 ~]# cd /usr/local/[root@192 local]# tar -zxvf mysql-wsrep-8.0.30-26.11.tar.gz[root@192 local]# mv mysql-wsrep-8.0.30-26.11 mysql# 创建mysql用户组和mysql用户,如系统已存在则不用创建[root@192 local]# groupadd mysql[root@192 local]# useradd -r -g mysql mysql[root@192 local]# passwd mysql# 创建data文件夹,用于存放数据库文件[root@192 local]# mkdir /usr/local/mysql/data# 将解压后的mysql文件所有者和所属组改为mysql[root@192 local]# chown -R mysql /usr/local/mysql[root@192 local]# chgrp -R mysql /usr/local/mysql[root@192 local]# ll mysql总用量 296drwxr-xr-x 2 mysql mysql 4096 9月 14 04:08 bindrwxr-xr-x 2 mysql mysql6 12月 24 10:32 datadrwxr-xr-x 2 mysql mysql55 9月 14 04:08 docsdrwxr-xr-x 3 mysql mysql 282 9月 14 04:08 includedrwxr-xr-x 6 mysql mysql 201 9月 14 04:08 lib-rw-r--r-- 1 mysql mysql 287627 9月 14 00:15 LICENSEdrwxr-xr-x 4 mysql mysql30 9月 14 04:08 man-rw-r--r-- 1 mysql mysql 666 9月 14 00:15 READMEdrwxr-xr-x 28 mysql mysql 4096 9月 14 04:08 sharedrwxr-xr-x 2 mysql mysql77 9月 14 04:08 support-files[root@192 local]## 配置mysql环境变量[root@192 local]# vim /etc/profile# 在该文件中添加如下内容export MYSQL_HOME=/usr/local/mysql/export PATH=$PATH:$MYSQL_HOME/bin[root@192 local]# source /etc/profile# 初始化mysql数据库[root@192 local]# ./mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data-12-24T02:34:53.336307Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.31) initializing of server in progress as process 2-12-24T02:34:53.358364Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.-12-24T02:34:54.122188Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.-12-24T02:34:55.447881Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: aAq*);up0Jx:# 从上面信息可看出,此时mysql临时密码为:aAq*);up0Jx:# 启动mysql服务[root@192 local]# ./mysql/support-files/mysql.server startStarting MySQL.Logging to '/usr/local/mysql/data/192.168.1.9.err'.... SUCCESS!# 连接mysql数据库,修改mysql数据库的root密码[root@192 local]# mysql -uroot -pEnter password:Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 9Server version: 8.0.31Copyright (c) 2000, , Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql># 修改密码为qwe123mysql> alter user 'root'@'localhost' identified by 'qwe123';Query OK, 0 rows affected (0.14 sec)mysql> flush privileges;Query OK, 0 rows affected (0.01 sec)mysql>

4、安装galera4(下载编译好的二进制文件)

下载地址:/galera-4/binary/

[root@192 /]# mv /root/下载/galera-4-26.4.13.tar.gz /usr/local/[root@192 /]# cd /usr/local/[root@192 local]# tar -zxvf galera-4-26.4.13.tar.gz[root@192 local]# mv galera-4-26.4.13 galera

5、修改配置文件(galera1)

将/usr/local/mysql/support-files/f文件复制一份到/etc下,并重命名为f(galera2、galera3同理),在[mysqld]下添加如下内容

[root@192 bin]# vim /etc/f# 添加以下内容server-id=1binlog_format=rowinnodb_file_per_table=1innodb_autoinc_lock_mode=2wsrep_on=ONwsrep_provider=/usr/local/galera/lib/libgalera_smm.sowsrep_cluster_name="galera"wsrep_cluster_address="gcomm://"wsrep_node_name="galera1"wsrep_node_address="192.168.1.4"wsrep_sst_auth=root:"qwe123"wsrep_sst_method=rsync

修改glaera2主机的/etc/f文件

[root@192 bin]# vim /etc/f# 添加以下内容server-id=2binlog_format=rowinnodb_file_per_table=1innodb_autoinc_lock_mode=2wsrep_on=ONwsrep_provider=/usr/local/galera/lib/libgalera_smm.sowsrep_cluster_name="galera"wsrep_cluster_address="gcomm://192.168.1.4,192.168.1.6"wsrep_node_name="galera2"wsrep_node_address="192.168.1.5"wsrep_sst_auth=root:"qwe123"wsrep_sst_method=rsync

修改glaera3主机的/etc/f文件

[root@192 bin]# vim /etc/f# 添加以下内容server-id=3binlog_format=rowinnodb_file_per_table=1innodb_autoinc_lock_mode=2wsrep_on=ONwsrep_provider=/usr/local/galera/lib/libgalera_smm.sowsrep_cluster_name="galera"wsrep_cluster_address="gcomm://192.168.1.4,192.168.1.5"wsrep_node_name="galera3"wsrep_node_address="192.168.1.6"wsrep_sst_auth=root:"qwe123"wsrep_sst_method=rsync

6、防火墙开通端口,将4567端口加入防火墙

[root@galera2 /]# netstat -nltp |grep mysqldtcp 00 0.0.0.0:4567 0.0.0.0:*LISTEN8305/mysqldtcp6 00 :::33060:::*LISTEN8305/mysqldtcp6 00 :::3306 :::*LISTEN8305/mysqld[root@galera2 /]# firewall-cmd --add-port=4567/tcp --permanentsuccess[root@galera2 /]# firewall-cmd --reloadsuccess[root@galera2 /]#

7、启动集群

先启动galera1的mysql服务

再依次启动galera2、galera3的服务,启动完成之后,停止galera1的服务,修改/etc/f文件,将wsrep_cluster_address=字段修改为如下:

wsrep_cluster_address="gcomm://192.168.1.5,192.168.1.6"

8、测试验证

在其中一台mysql上新建数据库表,两外两台机器就可以同步看到了

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。