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具体命令如下
- 建立共享文件夹copy modules文件
- 复制modules文件到根目录
- 运行modules下的setup脚本 配置mysql相关文件夹
- 解压8.0
cd/opt
tar xf /stage/MySQL-Server/mysql-commercial-8*.tar.gz
- 建立软链接 ln-s /opt/mysql-commercial-8* /usr/local/mysq
- 配置环境变量lexport PATH=SPATH:/usr/local/mysql/bin
- source ~/.bashrc
- cp /labs/my.cnf /etc/my.cnf
- adduser -r mysql
- mysqld –initialize 记住密码
- mkdir /var/run/mysqld
- chown mysql:mysql /var/run/mysqld/
- mysqld_safe &
- /etc/my.cnf 加入
[client]
socket=/var/lib/mysql/mysql.sock
- mysql> USE mysql
- mysql> ALTER USER USER() IDENTIFIED BY 'oracle'; 配置密码
- mysql -uroot -p
- Enter password: oracle
- USE mysql exit
- Cp /lab/service-8.0/mysql.service > usr/lib/sysytemd/system
- systemctl daemon-reload
- systemctl start mysqld
2.实验开始
大致如下:
对1-2 2-3采用主从复制 (也是对主从复制的熟悉)
再重置master 对1-2 2-3 3-1采取GTID复制。
具体步骤如下:
2.1主从复制
- 对1-2 2-3采用主从复制配置server1的/etc/my.cnf
- 对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';
- CREATE DATABASE world;
1> USE world Database changed
- 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环形拓扑负责结构建立完成。
- 效果展示
一号机:
二号机:
三号机: