mysql集群(主从复制)实操
1.环境准备
1.准备5台全新的机器
192.168.31.23 master1
192.168.31.24 master2
192.168.31.89 slave1
192.168.31.159 slave2
192.168.31.241 mycat
2.在每个机器本地hosts文件加入一下内容
[root@master1_23 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.31.23 master1
192.168.31.24 master2
192.168.31.89 slave1
192.168.31.159 slave2
192.168.31.241 mycat
3.前四台机器分别全新安装mysql57
[root@master1_23 srv]# rpm -qa | grep mysql
mysql-community-common-5.7.27-1.el7.x86_64
mysql-community-client-5.7.27-1.el7.x86_64
mysql-community-server-5.7.27-1.el7.x86_64
mysql-community-libs-5.7.27-1.el7.x86_64
mysql-community-libs-compat-5.7.27-1.el7.x86_64
4.将所有机器的防火墙和selinux关掉
systemctl stop firewalld
systemctl disable firewalld
[root@master1-23 ~]# getenforce
Disabled
vim /etc/selinux/config
SELINUX=disabled
2.一主一从(M-S)(1)
主(master1)
登陆数据库
1.首先启动数据库
systemctl start mysqld
2.通过日志找到临时密码,并且设置数据密码
[root@master1-23 ~]# grep password /var/log/mysqld.log
2022-05-26T11:26:39.973413Z 1 [Note] A temporary password is generated for root@localhost: (ZT%>jydv6pP
# 更改数据库密码
mysqladmin -uroot -p'(ZT%>jydv6pP' password 'QazWsx@123'
3.登陆数据库
mysql -uroot -p'QazWsx@123'
准备数据1(验证主从同步使用)
master1
mysql> create database master1db; # 创建master1db库
Query OK, 1 row affected (0.00 sec)
# 创建mastertab表
mysql> create table master1db.mastertab (id int,name varchar(50));
Query OK, 0 rows affected (0.01 sec)
# 往表中写入数据
mysql> insert into master1db.mastertab values(1,'zhangsan');
Query OK, 1 row affected (0.02 sec)
mysql> insert into master1db.mastertab values(2,'lisi');
Query OK, 1 row affected (0.00 sec)
开启二进制日志 master1
[root@master1-23 ~]# vim /etc/my.cnf
log_bin # 开启二进制日志
server-id