三台机器搭建MySQL一主二从

第一步 安装MySQL

(1)选择三台虚拟机,且保证三台机器互联互通,作为部署机器.本文选择的三台虚拟机是CentOS7.6

给这三台机器分配主从,这三台机器对应的IP地址为:

192.168.149.219     master

192.168.149.220     slave

192.168.149.221     slave

(2)查看当前系统中已经安装的mysql

rpm -qa |grep mariadb

(3)正常情况下,上条应该显示为空.切换为root用户.执行命令,安装

yum install mariadb-server mariadb

(4)启动

systemctl start mariadb

(5)登录

mysql -u root

若显示如下图所示,则表明安装成功.

 

另外两台也执行同样的操作.执行之后,此时的状态是,三台机器上纯净的安装了MySQL,没有做任何配置.

第二步 修改三个节点的配置.

在主节点/etc/my.cnf文件中增加两行.

server-id=1

log-bin=mysql-bin

在第一个从节点/etc/my.cnf文件中增加两行.

server-id=2

log-bin=mysql-bin

在第二个从节点/etc/my.cnf文件中增加两行.

server-id=3

log-bin=mysql-bin

以master节点为例,最终的文件看起来如下图所示.

 

修改完配置之后重启一下mysql服务

systemctl restart mariadb

第三步 master配置.

(1)登录master,进入mysql操作界面,为另外两台机器分配权限。

grant replication slave on *.* to 'replicate'@'192.168.149.221' identified by 'fanxiaoguang@0';

flush privileges;

 

grant replication slave on *.* to 'replicate'@'192.168.149.220' identified by 'fanxiaoguang@0';

flush privileges;

其中 'replicate'是自定义的用户名,'192.168.149.221'和192.168.149.220'是slave节点的ip,'fanxiaoguang@0'是自定义的密码。

(2)开放连接,使另外两台可以连接

第一种方式,开放端口,执行

iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

第二种方式,关闭本地防火墙(不建议)

service iptables stop

为了验证是否成功开放,在另外两台测试一下。在另外两台分别在命令行钟输入

mysql -h192.168.149.219 -ureplicate -pfanxiaoguang@0

若登录成功则说明开发成功,两台机器可以互联

 

第四步 slave配置.

(两台slave配置方法一样)

切换到 slave节点,以root用户登录mysql,

执行以下操作

mysql>stop slave;         

mysql>change master to

master_host='192.168.149.219',master_user='replicate',master_password='fanxiaoguang@0';

mysql>start slave;

执行命令,查看状态,

show slave status\G;

如图所示,若其中这两个地方是yes,那么就说明已经配置成功

 

第五步 验证

所说的主备,当主节点数据库发生改变,那么从数据库要随之改变。

我们在master节点中,test数据库中创建表格并插入一条数据,可以看见slave节点也跟随这改变了。

use test;

create table kyctest( name VARCHAR(20) ,tel VARCHAR(20) );

insert into kyctest(name,tel) values('kyc102','0238456');

为了更明显,插入操作之后,在从节点查看数据库。

select * from kyctest;

在主节点再次插入。

insert into kyctest(name,tel) values('kyc','00000');

再从节点再次查看数据库。

select * from kyctest;

 

猜你喜欢

转载自blog.csdn.net/Kangyucheng/article/details/108265828