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

[复制链接]
发表于 2026-2-9 15:41:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
一、LVS

1.脚色

主机名ip所在功能web01192.168.2.101rsweb02192.168.2.102realserveenat内网:192.168.2.103 外网:192.168.2.120directorserver,ntpdns192.168.2.105dns2..web服务器
  1. [root@web01 ~]# yum -y install nginx
  2. ​
  3. [root@web01 ~]# echo "web===01" > /usr/share/nginx/html/index.html
  4. [root@web01 ~]# nginx
复制代码

  1. [root@web02 ~]# yum -y install nginx
  2. ​
  3. [root@web02 ~]# echo "web===02" > /usr/share/nginx/html/index.html
  4. [root@web02 ~]# nginx
复制代码


2.nat

设置两个网卡和两个ip所在,一个对内ip,一个对外ip
内网:192.168.2.103
外网:192.168.2.120

3.dns:192.168.2.105
  1. [root@localhost ~]# yum -y install bind
  2. ​
  3. [root@localhost ~]# vim /etc/named.conf
  4. ​
  5. options {
  6.        listen-on port 53 { 127.0.0.1;any; };
  7.        listen-on-v6 port 53 { ::1; };
  8.        directory       "/var/named";
  9.        dump-file       "/var/named/data/cache_dump.db";
  10.        statistics-file "/var/named/data/named_stats.txt";
  11.        memstatistics-file "/var/named/data/named_mem_stats.txt";
  12.        recursing-file  "/var/named/data/named.recursing";
  13.        secroots-file   "/var/named/data/named.secroots";
  14.        allow-query     { localhost;any;};
  15. ​
  16. ​
  17. ​
  18. [root@localhost ~]# vim /etc/named.rfc1912.zones
  19. ​
  20. zone "haha" IN {
  21.        type master;
  22.        file "haha.zone";
  23.        allow-update { none; };
  24. };
  25. ​
  26. ​
  27. ​
  28. [root@localhost ~]# cd /var/named/
  29. [root@localhost named]# ls
  30. data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
  31. [root@localhost named]# ll
  32. 总用量 16
  33. drwxrwx---. 2 named named    6 6月  11 22:40 data
  34. drwxrwx---. 2 named named    6 6月  11 22:40 dynamic
  35. -rw-r-----. 1 root  named 2253 4月   5 2018 named.ca
  36. -rw-r-----. 1 root  named  152 12月 15 2009 named.empty
  37. -rw-r-----. 1 root  named  152 6月  21 2007 named.localhost
  38. -rw-r-----. 1 root  named  168 12月 15 2009 named.loopback
  39. drwxrwx---. 2 named named    6 6月  11 22:40 slaves
  40. [root@localhost named]# cp -p named.localhost haha.zone
  41. ​
  42. [root@localhost named]# vim haha.zone
  43. ​
  44. $TTL 1D
  45. @       IN SOA  @ rname.invalid. (
  46.                                        0       ; serial
  47.                                        1D      ; refresh
  48.                                        1H      ; retry
  49.                                        1W      ; expire
  50.                                        3H )    ; minimum
  51.        NS      @
  52.        A       127.0.0.1
  53.        AAAA    ::1
  54. nat     A       192.168.2.103
  55. ds      A       192.168.2.120
  56. web01   A       192.168.2.101
  57. web02   A       192.168.2.102
  58. ​
  59. 检查文件
  60. ​
  61. [root@localhost named]# named-checkconf /etc/named.conf
  62. [root@localhost named]# named-checkconf /etc/named.rfc1912.zones
  63. [root@localhost named]# named-checkzone haha.zone haha.zone
  64. zone haha.zone/IN: loaded serial 0
  65. OK
  66. [root@localhost named]# systemctl start named
  67. [root@localhost named]# systemctl enable named
复制代码
4.客户端
  1. 将配置DNS服务的IP重定向到/etc/resolv中
  2. ​
  3. [root@client ~]# echo "nameserver 192.168.2.105" > /etc/resolv
  4. ​
  5. [root@client ~]# ping nat.haha
  6. PING nat.haha (192.168.2.103) 56(84) bytes of data.
  7. 64 bytes from 192.168.2.103 (192.168.2.103): icmp_seq=1 ttl=64 time=0.216 ms
  8. 64 bytes from 192.168.2.103 (192.168.2.103): icmp_seq=2 ttl=64 time=0.624 ms
  9. ^C
  10. --- nat.haha ping statistics ---
  11. 2 packets transmitted, 2 received, 0% packet loss, time 1000ms
  12. rtt min/avg/max/mdev = 0.216/0.420/0.624/0.204 ms
  13. [root@client ~]# ping ds.haha
  14. PING ds.haha (192.168.2.120) 56(84) bytes of data.
  15. 64 bytes from 192.168.2.120 (192.168.2.120): icmp_seq=1 ttl=64 time=0.445 ms
  16. 64 bytes from 192.168.2.120 (192.168.2.120): icmp_seq=2 ttl=64 time=0.408 ms
  17. ^C
  18. --- ds.haha ping statistics ---
  19. 2 packets transmitted, 2 received, 0% packet loss, time 1001ms
  20. rtt min/avg/max/mdev = 0.408/0.426/0.445/0.027 ms
复制代码
5.nat:设置时间同步服务器
  1. [root@nat ~]# yum -y install ntpdate.x86_64
  2. ​
  3. [root@nat ~]# crontab -e
  4. ​
  5. * 2 * * * /usr/sbin/ntpdate cn.ntp.org.cn
  6. ​
  7. [root@nat ~]# systemctl start ntpdate.service
  8. [root@nat ~]# systemctl enable ntpdate.service
复制代码
6.dns:设置时间同步
  1. [root@dns ~]# crontab -e
  2. ​
  3. 30 3 * * * /usr/sbin/ntpdate 192.168.2.103(时间服务器的地址)
复制代码
7.web01
  1. [root@web01 ~]# crontab -e
  2. ​
  3. 30 3 * * * /usr/sbin/ntpdate 192.168.2.103(时间服务器的地址)
复制代码
8.web02
  1. [root@web02 ~]# crontab -e
  2. ​
  3. 30 3 * * * /usr/sbin/ntpdate 192.168.2.103(时间服务器的地址)
复制代码
9.nat
  1. [root@nat ~]# yum -y install ipvsadm.x86_64
复制代码
二、基于gtids的主从复制搭建

实践步调
1.修改设置⽂件⽀持GTIDs
  1. 1.master
  2. ​
  3. [mysqld]
  4. basedir=/usr/local/mysql
  5. datadir=/usr/local/mysql/data
  6. socket=/tmp/mysql.sock
  7. port=3306
  8. ​
  9. log-error=/usr/local/mysql/data/db01-master.err
  10. log-bin=/usr/local/mysql/data/binlog
  11. server-id=10
  12. character_set_server=utf8mb4
  13. ​
  14. gtid-mode=on
  15. log-slave-updates=1
  16. enforce-gtid-consistency
复制代码
  1. 2.slave
  2. ​
  3. [mysqld]
  4. basedir=/usr/local/mysql
  5. datadir=/usr/local/mysql/data
  6. socket=/tmp/mysql.sock
  7. ​
  8. log-error=/usr/local/mysql/data/err.log
  9. relay-log=/usr/local/mysql/data/relaylog
  10. character_set_server=utf8mb4
  11. server-id=11
  12. ​
  13. log-bin=/usr/local/mysql/data/binlog
  14. gtid-mode=on
  15. log-slave-updates=1
  16. enforce-gtid-consistency
  17. skip-slave-start
  18. ​
  19. ​
复制代码
2.重新启动mysql服务
  1. [root@master ~]# service mysql8 start
  2. Starting MySQL SUCCESS!
  3. ​
  4. ​
  5. ​
  6. [root@slave ~]# service mysql8 start
  7. Starting MySQL SUCCESS!
  8. ​
复制代码
3.主从设置只读模式
  1. mysql> set @@global.read_only=ON;
  2. Query OK, 0 rows affected (0.00 sec)
  3. ​
  4. mysql> set @@global.read_only=ON;
  5. Query OK, 0 rows affected (0.00 sec)
复制代码
4.slave重新设置change master to
  1. mysql> stop slave;
  2. Query OK, 0 rows affected, 2 warnings (0.00 sec)
  3. ​
  4. mysql> reset slave;
  5. Query OK, 0 rows affected, 1 warning (0.00 sec)
  6. ​
  7. mysql> change master to
  8.    -> master_host='192.168.2.38',
  9.    -> master_user='slave',
  10.    -> master_password='slave_123;',
  11.    -> master_port=3306,
  12.    -> master_auto_position=1;
  13. Query OK, 0 rows affected, 8 warnings (0.02 sec)
  14. ​
  15. mysql> start slave;
  16. Query OK, 0 rows affected, 1 warning (0.02 sec)
  17. ​
  18. mysql> show slave status\G
复制代码
5.关闭主从服务只读模式
  1. mysql> set @@global.read_only=OFF;
  2. Query OK, 0 rows affected (0.00 sec)
  3. ​
  4. ​
  5. ​
  6. mysql> set @@global.read_only=OFF;
  7. Query OK, 0 rows affected (0.01 sec)
复制代码
6.得到公钥
  1. [root@slave ~]# mysql -uslave  -h192.168.2.38 -P3306 --get-server-public-key -p
  2. Enter password:
复制代码

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表