mysql环形拓扑复制

1.虚拟机的配置

1.1关于linux的安装

通过加载linux7.8的镜像来在vmware下安装linux

选择图形界面GUI方便操作 选择包如下

 

 

此mysql实验以在root下为主 磁盘分配root为主如下

 

1.2关于网络

关于对虚拟机网络的选择(此实验在三台服务器对网络做详细介绍)

1.仅主机模式:虚拟机只能访问物理机,不能上网。

这是最简单的模式,相当于拿一根网线直接连接虚拟机和物理机。

2.NAT模式:虚拟机可以访问物理机,同时也能通过物理机访问外网

这种模式下,物理机充当“路由器”的角色,虚拟机想要上网必须通过物理机,如果物理机不能上网,那么虚拟机也不能上网了。

这种模式的好处是兼容性强,物理机的网络环境变化时,虚拟机的网络不会受到影响。比如,上班时你把物理机连接在公司的网络环境中,下班后又把物理机连接在你家的路由器上。你公司的网段有可能和你家的网段是不同的。

桥接模式下,虚拟机和物理机一样,都要自动获取IP才可以上网,而做实验的时候,是需要把虚拟机设置为静态IP的,这样就导致虚拟机网络不稳定。而设置为NAT模式,虚拟机的网络并不需要依赖你公司的网络环境或者你家的网络环境。

3.桥接模式:虚拟机和物理机连接同一网络,虚拟机和物理机是并列的关系,地位是相当的。比如,你家有路由器,那么你的电脑和你的手机同时连接这个路由器提供的Wi-Fi,那么它们的关系就是这种模式。

 

在图形界面可以通过设置来进行网络修改。

也通过命令修改虚拟机:

二号机 192.168.40.129

三号机 192.168.40.130

一号机 192.168.40.128

具体命令如下(以server1为例)

Nmcli connection show

Nmcli connection modify “ens33” ipv4.address 192.168.40.128 connection.autoconnection yes

Nmcli connection up “ens33”

Hostnamectl set-hostname server1

Systemctl stop firewalld

Systemctl disable firewalld     //切记关闭防火墙

Vim /etc/hosts

再加入以下命令:

192.168.40.128 server1

192.168.40.129 server2

192.168.40.130 server3        //方便访问

1.3关于mysql的配置

此次实验安装mysql8.0具体命令如下

  1. 建立共享文件夹copy modules文件
  2. 复制modules文件到根目录
  3. 运行modules下的setup脚本 配置mysql相关文件夹
  4. 解压8.0  

cd/opt  

tar xf /stage/MySQL-Server/mysql-commercial-8*.tar.gz

  1. 建立软链接 ln-s /opt/mysql-commercial-8* /usr/local/mysq
  2. 配置环境变量lexport PATH=SPATH:/usr/local/mysql/bin
  3. source ~/.bashrc
  4. cp /labs/my.cnf /etc/my.cnf
  5. adduser -r mysql
  6. mysqld –initialize 记住密码
  7. mkdir /var/run/mysqld
  8. chown mysql:mysql /var/run/mysqld/
  9. mysqld_safe &
  10. /etc/my.cnf   加入

[client]

socket=/var/lib/mysql/mysql.sock

  1. mysql> USE mysql
  2. mysql> ALTER USER USER() IDENTIFIED BY 'oracle'; 配置密码
  3. mysql -uroot -p
  4. Enter password: oracle
  5. USE mysql   exit
  6. Cp /lab/service-8.0/mysql.service > usr/lib/sysytemd/system
  7. systemctl daemon-reload
  8. systemctl start mysqld

2.实验开始

大致如下:

对1-2 2-3采用主从复制 (也是对主从复制的熟悉)

再重置master  对1-2 2-3 3-1采取GTID复制。

 

具体步骤如下:

2.1主从复制

  1. 对1-2 2-3采用主从复制配置server1的/etc/my.cnf
  2. 对2,3的配置/etc/my.cnf类似。

     

    1>SHOW MASTER STATUS\G

     

    1> CREATE USER 'repl'@'127.0.0.1'

    -> IDENTIFIED WITH mysql_native_password BY 'oracle';

    1> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'127.0.0.1';

    1. CREATE DATABASE world;

    1> USE world Database changed

    1. SOURCE /stage/databases/world.sql

    在二号机

    2> CHANGE MASTER TO

    -> MASTER_HOST='127.0.0.1',

    -> MASTER_PORT=3311,

    -> MASTER_LOG_FILE='server1-bin.000001',

    -> MASTER_LOG_POS=155;

    2> SHOW DATABASES;

     

    至此1-2 主从配置完毕。

    4.

    采取对二号机的备份发送给三号机 在三号机运行

    在二号机备份

    mysqldump -uroot -p --master-data=2 \

    > -B world > /tmp/server2.sql

    Scp /tmp/server2.sql root@192.168.40.130:/tmp/

    三号机已经接收后  修改/tmp/server2.sql

    CHANGE MASTER TO MASTER_HOST='192.168.40.129', MASTER_PORT=3306,

    MASTER_LOG_FILE='server2-bin.000001', MASTER_LOG_POS=723074;

    运行server2.sql如图所示:

     

    启动三号机的复制

    START SLAVE USER='repl' PASSWORD='oracle';

    效果展示

    一号机:

     

     

    二号机:

     

    三号机:

     

    2.2关于gtid的设置和3-1的主从配置

    在一二三号机开启gtid设置如图重启mysql服务器

     

    在三号机建立repl用户

    3> CREATE USER 'repl'@'127.0.0.1'

    -> IDENTIFIED WITH mysql_native_password BY 'oracle';

    3> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'127.0.0.1'; affected (#.## sec)

在二三号机上执行:

STOP SLAVE;       

在一二三号机执行:

RESET MASTER;  删除原本的主从复制

在二三号机:

CHANGE MASTER TO MASTER_AUTO_POSITION=1; 开启gtid的主服务器位置的自动检索

在二三号机:

START SLAVE USER='repl' PASSWORD='oracle';  开启从属服务器备份

对3-1进行配置

一号机:(设置主服务器为3,开启一号机备份)

 

至此1-2 2-3 3-1环形拓扑负责结构建立完成。

  1. 效果展示

一号机:

 

二号机:

 

三号机:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值