This commit is contained in:
2022-05-17 22:38:01 +08:00
parent c9a8c22e42
commit f8bf6ecd52
14 changed files with 1352 additions and 1350 deletions

View File

@@ -15,79 +15,79 @@ cpu | mem | hostname | public ip | cluster ip | CentOS | MySQL
双核 | 2GB | mysql_3 | 10.0.0.233 | 10.10.10.3 | 7.5 | 5.7
## 创建 galera yum 源文件
```bash
cat > /etc/yum.repos.d/galera.repo <<-END
[galera]
name = Galera
baseurl = http://releases.galeracluster.com/galera-3/centos/7/x86_64/
gpgkey = http://releases.galeracluster.com/GPG-KEY-galeracluster.com
gpgcheck = 1
```bash
cat > /etc/yum.repos.d/galera.repo <<-END
[galera]
name = Galera
baseurl = http://releases.galeracluster.com/galera-3/centos/7/x86_64/
gpgkey = http://releases.galeracluster.com/GPG-KEY-galeracluster.com
gpgcheck = 1
[mysql-wsrep]
name = MySQL-wsrep
baseurl = http://releases.galeracluster.com/mysql-wsrep-5.7/centos/7/x86_64/
gpgkey = http://releases.galeracluster.com/GPG-KEY-galeracluster.com
gpgcheck = 1
END
```
[mysql-wsrep]
name = MySQL-wsrep
baseurl = http://releases.galeracluster.com/mysql-wsrep-5.7/centos/7/x86_64/
gpgkey = http://releases.galeracluster.com/GPG-KEY-galeracluster.com
gpgcheck = 1
END
```
## 安装
```bash
yum install galera-3 mysql-wsrep-5.7 rsync
```
```bash
yum install galera-3 mysql-wsrep-5.7 rsync
```
## 修改 /etc/my.cnf
```
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
binlog-format=ROW
bind-address=0.0.0.0
default-storage-engine=innodb
innodb-autoinc-lock-mode=2
innodb-flush-log-at-trx-commit=0
innodb-buffer-pool-size=1024M #物理内存一半
wsrep-provider=/usr/lib64/galera-3/libgalera_smm.so
wsrep-provider-options="gcache.dir=/var/lib/gcache;gcache.size=1G;gcache.recover=yes;pc.recovery=TRUE"
wsrep-cluster-name="mysql_galera_cluster" #集群名字
wsrep-cluster-address="gcomm://10.10.10.1,10.10.10.2,10.10.10.3"
wsrep-sst-method=rsync
wsrep-node-name=mysql_1 #当前节点名字
wsrep-node-address="10.10.10.1" #当前节点 cluster ip
#wsrep-auto-increment-control=OFF #只通过一个节点做增删改时使用
```
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
binlog-format=ROW
bind-address=0.0.0.0
default-storage-engine=innodb
innodb-autoinc-lock-mode=2
innodb-flush-log-at-trx-commit=0
innodb-buffer-pool-size=1024M #物理内存一半
wsrep-provider=/usr/lib64/galera-3/libgalera_smm.so
wsrep-provider-options="gcache.dir=/var/lib/gcache;gcache.size=1G;gcache.recover=yes;pc.recovery=TRUE"
wsrep-cluster-name="mysql_galera_cluster" #集群名字
wsrep-cluster-address="gcomm://10.10.10.1,10.10.10.2,10.10.10.3"
wsrep-sst-method=rsync
wsrep-node-name=mysql_1 #当前节点名字
wsrep-node-address="10.10.10.1" #当前节点 cluster ip
#wsrep-auto-increment-control=OFF #只通过一个节点做增删改时使用
[mysql_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysql_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
!includedir /etc/my.cnf.d/
```
!includedir /etc/my.cnf.d/
```
## 随机选择一个节点,使用专用脚本 mysqld_bootstrap 初始化集群
```bash
/usr/bin/mysqld_bootstrap
# 该命令会启动本机的 mysqld 服务
systemctl status mysqld
```
```bash
/usr/bin/mysqld_bootstrap
# 该命令会启动本机的 mysqld 服务
systemctl status mysqld
```
## 查找密码,修改初始密码
```bash
grep -i password /var/log/messages
# 记录输出的密码
mysqladmin -uroot -p password 'P@sswo2d'
# 根据提示输入上一步输出的密码
```
```bash
grep -i password /var/log/messages
# 记录输出的密码
mysqladmin -uroot -p password 'P@sswo2d'
# 根据提示输入上一步输出的密码
```
## 在其他节点上启动 mysqld 服务
```bash
systemctl start mysqld
```
```bash
systemctl start mysqld
```
## 查看集群节点数量
```sql
show status like 'wsrep_cluster_size';
```
```sql
show status like 'wsrep_cluster_size';
```
## ssl 加密同步数据(不推荐,存在性能损失)
- 生成证书