galera cluster安装与配置
阅读原文时间:2023年07月12日阅读:1

由于公司数据量与并发的日渐增大,普通的主从复制已无法满足要求。对比了网上PXC、galera、mysql cluster等方案,最终决定选择galera cluster。

以下为安装步骤:

1、下载galera for mysql与galera插件包(galera-25.3.5-1.rhel6.x86_64.rpm)。

2、安装依赖,与mysql依赖一样。

yum groupinstall "Development tools" "Server Platform Development" libxml2-devel lz4 lz4-devel libpcap nmap lsof socat libaio bison ncurses ncurses-devel openssl vim wget lrzsz zlib* pcre perl kytea cmake make gcc gcc-c++ -y

3、解压,编译,与传统mysql差不多,只不过多了两个编译参数,分别为:-DWITH_WSREP=ON -DWITH_INNODB_DISALLOW_WRITES=ON。即:

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_TCP_PORT=3306 -DWITH_BOOST=/usr/local/boost -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DSYSCONFDIR=/etc/mysql/ -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DENABLE_DTRACE=0 -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_EMBEDDED_SERVER=1 -DWITH_READLINE=1  -DEXTRA_CHARSETS=all -DWITH_SSL=bundled -DWITH_READLINE=1-DWITH_zlib=bundled -DWITH_SSL=yes -DWITH_WSREP=ON -DWITH_INNODB_DISALLOW_WRITES=ON

4、复制mysql.server文件到/etc/init.d/:

cp -a /usr/local/mysql-wsrep-5.7.21-25.14/support-files/mysql.server /etc/init.d/mysqld

cp -a /usr/local/mysql-wsrep-5.7.21-25.14/support-files/wsrep.cnf /etc/my.cnf.d/wsrep.cnf

chmod +x /etc/init.d/mysqld

4.5、初始化数据库:

  5.7之前:

  mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

  5.7之后:

  mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

mysql -uroot -p进入后,创建并授权复制账号。

编辑/etc/hosts文件,加入节点名称及IP地址。

5、配置文件:

注意:

在my.cnf文件中要写入:!includedir /etc/mysql/conf.d/

my.cnf配置(node1节点):

[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/usr/local/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
!includedir /etc/my.cnf.d/
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql/data/node1.pid

6、修改/etc/my.cnf.d/wsrep.cnf文件配置:

(1)wsrep_provider=/usr/lib64/galera/libgalera_smm.so          #插件包so的位置

(2)wsrep_cluster_name="mysql"                       #所有节点必须一样

(3)wsrep_cluster_address="gcomm://192.168.152.138,192.168.152.139"   #添加除自己之外的其他节点的IP

(4)wsrep_node_name=node3    #节点名称

(5)wsrep_node_incoming_address=localhost:3306    #本机端口

(6)wsrep_sst_auth=root:123456    #通过什么账号与密码进行复制。

7、启动节点:

先启动第一个主节点,命令:service mysqld start --wsrep-new-cluster

后启动其他节点:service mysqld start