8.12-基于gtids的主从复制搭建+lvs

devtools/2024/10/17 15:49:09/

一、LVS

1.角色

主机名ip地址功能
web01192.168.2.101rs
web02192.168.2.102realservee
nat内网:192.168.2.103 外网:192.168.2.120directorserver,ntp
dns192.168.2.105dns

2..web服务器

[root@web01 ~]# yum -y install nginx
​
[root@web01 ~]# echo "web===01" > /usr/share/nginx/html/index.html
[root@web01 ~]# nginx

[root@web02 ~]# yum -y install nginx
​
[root@web02 ~]# echo "web===02" > /usr/share/nginx/html/index.html
[root@web02 ~]# nginx

2.nat

配置两个网卡和两个ip地址,一个对内ip,一个对外ip

内网:192.168.2.103

外网:192.168.2.120

3.dns:192.168.2.105

[root@localhost ~]# yum -y install bind
​
[root@localhost ~]# vim /etc/named.conf
​
options {listen-on port 53 { 127.0.0.1;any; };listen-on-v6 port 53 { ::1; };directory       "/var/named";dump-file       "/var/named/data/cache_dump.db";statistics-file "/var/named/data/named_stats.txt";memstatistics-file "/var/named/data/named_mem_stats.txt";recursing-file  "/var/named/data/named.recursing";secroots-file   "/var/named/data/named.secroots";allow-query     { localhost;any;};
​
​
​
[root@localhost ~]# vim /etc/named.rfc1912.zones 
​
zone "haha" IN {type master;file "haha.zone";allow-update { none; };
};
​
​
​
[root@localhost ~]# cd /var/named/
[root@localhost named]# ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@localhost named]# ll
总用量 16
drwxrwx---. 2 named named    6 6月  11 22:40 data
drwxrwx---. 2 named named    6 6月  11 22:40 dynamic
-rw-r-----. 1 root  named 2253 4月   5 2018 named.ca
-rw-r-----. 1 root  named  152 12月 15 2009 named.empty
-rw-r-----. 1 root  named  152 6月  21 2007 named.localhost
-rw-r-----. 1 root  named  168 12月 15 2009 named.loopback
drwxrwx---. 2 named named    6 6月  11 22:40 slaves
[root@localhost named]# cp -p named.localhost haha.zone
​
[root@localhost named]# vim haha.zone
​
$TTL 1D
@       IN SOA  @ rname.invalid. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      @A       127.0.0.1AAAA    ::1
nat     A       192.168.2.103
ds      A       192.168.2.120
web01   A       192.168.2.101
web02   A       192.168.2.102
​
检查文件
​
[root@localhost named]# named-checkconf /etc/named.conf
[root@localhost named]# named-checkconf /etc/named.rfc1912.zones 
[root@localhost named]# named-checkzone haha.zone haha.zone
zone haha.zone/IN: loaded serial 0
OK
[root@localhost named]# systemctl start named
[root@localhost named]# systemctl enable named

4.客户端

将配置DNS服务的IP重定向到/etc/resolv中
​
[root@client ~]# echo "nameserver 192.168.2.105" > /etc/resolv
​
[root@client ~]# ping nat.haha
PING nat.haha (192.168.2.103) 56(84) bytes of data.
64 bytes from 192.168.2.103 (192.168.2.103): icmp_seq=1 ttl=64 time=0.216 ms
64 bytes from 192.168.2.103 (192.168.2.103): icmp_seq=2 ttl=64 time=0.624 ms
^C
--- nat.haha ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.216/0.420/0.624/0.204 ms
[root@client ~]# ping ds.haha
PING ds.haha (192.168.2.120) 56(84) bytes of data.
64 bytes from 192.168.2.120 (192.168.2.120): icmp_seq=1 ttl=64 time=0.445 ms
64 bytes from 192.168.2.120 (192.168.2.120): icmp_seq=2 ttl=64 time=0.408 ms
^C
--- ds.haha ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.408/0.426/0.445/0.027 ms

5.nat:设置时间同步服务器

[root@nat ~]# yum -y install ntpdate.x86_64 
​
[root@nat ~]# crontab -e
​
* 2 * * * /usr/sbin/ntpdate cn.ntp.org.cn
​
[root@nat ~]# systemctl start ntpdate.service 
[root@nat ~]# systemctl enable ntpdate.service 

6.dns:设置时间同步

[root@dns ~]# crontab -e
​
30 3 * * * /usr/sbin/ntpdate 192.168.2.103(时间服务器的地址)

7.web01

[root@web01 ~]# crontab -e
​
30 3 * * * /usr/sbin/ntpdate 192.168.2.103(时间服务器的地址)

8.web02

[root@web02 ~]# crontab -e
​
30 3 * * * /usr/sbin/ntpdate 192.168.2.103(时间服务器的地址)

9.nat

[root@nat ~]# yum -y install ipvsadm.x86_64 

二、基于gtids的主从复制搭建

实践步骤

1.修改配置⽂件⽀持GTIDs

1.master 
​
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
port=3306
​
log-error=/usr/local/mysql/data/db01-master.err
log-bin=/usr/local/mysql/data/binlog
server-id=10
character_set_server=utf8mb4
​
gtid-mode=on
log-slave-updates=1
enforce-gtid-consistency

2.slave
​
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
​
log-error=/usr/local/mysql/data/err.log
relay-log=/usr/local/mysql/data/relaylog
character_set_server=utf8mb4
server-id=11
​
log-bin=/usr/local/mysql/data/binlog
gtid-mode=on
log-slave-updates=1
enforce-gtid-consistency
skip-slave-start
​
​

2.重新启动mysql服务

[root@master ~]# service mysql8 start
Starting MySQL SUCCESS! 
​
​
​
[root@slave ~]# service mysql8 start
Starting MySQL SUCCESS! 
​

3.主从设置只读模式

mysql> set @@global.read_only=ON;
Query OK, 0 rows affected (0.00 sec)
​
mysql> set @@global.read_only=ON;
Query OK, 0 rows affected (0.00 sec)

4.slave重新配置change master to

mysql> stop slave;
Query OK, 0 rows affected, 2 warnings (0.00 sec)
​
mysql> reset slave;
Query OK, 0 rows affected, 1 warning (0.00 sec)
​
mysql> change master to-> master_host='192.168.2.38',-> master_user='slave',-> master_password='slave_123;',-> master_port=3306,-> master_auto_position=1;
Query OK, 0 rows affected, 8 warnings (0.02 sec)
​
mysql> start slave;
Query OK, 0 rows affected, 1 warning (0.02 sec)
​
mysql> show slave status\G

5.关闭主从服务只读模式

mysql> set @@global.read_only=OFF;
Query OK, 0 rows affected (0.00 sec)
​
​
​
mysql> set @@global.read_only=OFF;
Query OK, 0 rows affected (0.01 sec)

6.获得公钥

[root@slave ~]# mysql -uslave  -h192.168.2.38 -P3306 --get-server-public-key -p
Enter password: 


http://www.ppmy.cn/devtools/93952.html

相关文章

RabbitMq的事务机制

RabbitMQ中与事务机制有关的方法有三个:txSelect(), txCommit()以及txRollback(), txSelect用于将当前channel设置成transaction模式,txCommit用于提交事务,txRollback用于回滚事务,在通过txSelect开启事务之后,我们便…

Java中的人机交互(HCI):构建交互式应用程序

人机交互(Human-Computer Interaction, HCI)是研究人类与计算机系统之间交互的学科。在Java编程中,HCI不仅涉及用户界面的设计,还包括用户体验的优化、交互技术的实现以及用户输入的处理。本文将深入探讨如何在Java中实现高效的人…

学习STM32(2)--STM32单片机GPIO应用

目录 1 引 言 2 实验目的 3 实验内容 3.1掌握STM32F103的GPIO控制 3.1.1 GPIO的分组 3.1.2 GPIO的常用功能 3.1.3 STM32单片机GPIO位结构 3.1.4 STM32单片机GPIO工作模式 3.1.5 STM32的GPIO 输出-点亮LED编程要点 使用GPIO时,按下面步骤进行&#xff1…

【SpringBoot 属性加载机制】

SpringBoot 属性加载 一个 SpringBoot 应用的配置属性可以有多种不同的来源, 比如可以来自操作系统的环境变量, 比如可以来自 application.yaml 文件; 每一种不同的属性来源, 都会被 SpringBoot 封装成一个PropertySource对象, 保存在 Environment 对象的 PropertySources 类型…

死信队列.

“死信”是指在RabbitMQ中那些因为某些原因无法被正常处理的消息。

从零开始实现循环神经网络

本节我们通过使用MXnet,来从零开始的实现一个含有隐藏状态的循环神经网络。 前序工作 数据集预处理进行采样 实现循环神经网络 完成前序工作后,即可开始实现循环神经网络。本文首先构建一个具有隐状态的循环神经网络。其结构如图所示: 接…

C语言指针详解-包过系列(二)目录版

C语言指针详解-包过系列(二)目录版 1、数组名的深入理解1.1、数组名的本质1.2、数组名本质的两个例外1.2.1、sizeof(数组名)1.2.2、&数组名 2、使用指针访问数组3、一维数组传参本质4、二级指针4.1、二级指针介绍4.2、二级指针…

亿达科创亮相智造数字科技大会

8月8日,IMC2024第七届智造数字科技大会在京启幕。大会以“乘‘数’而上”为题,邀请300智能制造行业数字化转型技术大咖、领军者及实践者共聚一堂,解读智造行业转型进程。亿达科创受邀参会,分享企业前沿数字技术、解决方案与创新实…