1、配置一主二从mysql
-
mycat对mysql8不完全支持
-
mysql8主从问题不大get_pub_key=1
-
gtids事务复制
-
删除/etc/my.cnf
-
同步data文件需要先停用mysql服务,删除data目录中的auto.cnf
-
gtid模式以及经典模式都需要锁表
cpp
flush tables with read lock;
unlock tables;
set @@glopal.read_only=ON;
set @@global.read_only=OFF';
- 开放mysql服务端
firewall-cmd -- zone=public -- add-
port=3306/tcp -- permanent
firewall-cmd -- reload
firewall-cmd -- list-ports
firewall-cmd -- list-servciel
2、 添加数据库和数据表
-
不能修改从服务器
-
创建库和表
#!/bin/bash
/usr/local/mysql/bin/msyql -proot << EOF
create database if not exists eleme charset utf8mb4;
use eleme;
create table user(
id int primary key auto_increment,
name varchar(45) not null,
username varchar(45) not null,
password varchar(45) not null,
remark varchar(45)
insert into eleme. t_user(name, username, password, remark)values("超级管理员","admin","admin","管理员");insert into eleme. t_user(name, username, password, remark)va
Lues("访客","guest","guest","最低权限");
quit
EOF
3、 添加登录数据,可以输入sql语句,也可以在图形化界面
4、添加mycat读写分离负载均衡
-
nginx,haproxy,lvs负载均衡技术 分不清什么数据库能读,什么数据库能写
-
master mysql可读可写,slave mysql只能读取数据
-
mycat是阿里开源项目,所以必须安装java环境
4.步骤
-
开放8066端口
-
上传软件包mycat和jdk1.8
-
解压
-
配置部署java环境
-
复制到 /usr/local目录下
-
配置/etc/profile source /etc/profile
-
server.xml
4.schema.xml
-
/usr/local/mycat/bin/mycat start|stop
-
查看日志文件wrapper.log
5、 部署2台java后端服务器,jdk版本17
root@java \~\]# tar -xf jdk-17_linux-x64_bin.tar.gz \[root@java \~\]# ls anaconda-ks.cfg jdk-17.0.12 jdk-17_linux-x64_bin.tar.gz \[root@java \~\]# cp -r jdk-17.0.12/ /usr/local/jdk \[root@java \~\]# vim /etc/profile  \[root@java \~\]# source /etc/profile \[root@java \~\]# java -version
6、部署饿了么后端项目 登录模块
root@java \~\]# ls anaconda-ks.cfg jdk-17.0.12 application.yml jdk-17_linux-x64_bin.tar.gz eleme_server-0.0.1-SNAPSHOT.jar
1.修改application.yml文件,端口默认8080,url,username,password
root@java \~\]# vim application.yml 
- 先打开java服务器的端口
root@java \~\]# firewall-cmd -- add-port=8080/tcp -- permanent \[root@java \~\]# firewall-cmd -- reload 3. 启动后端服务器 \[root@java \~\]# java -jar eleme_server-0.0.1-SNAPSHOT.jar 4. 远程浏览器测试 >  > >  > >  7、 使用Ivs代理java服务 1. 设置dr主机 \[root@lvs_dr \~\]# yum -y install ipvsadm.x86_64 \[root@lvs_dr \~\]# ipvsadm -L //查看以往的 \[root@lvs_dr \~\]# ipvsadm -C //清空 \[root@lvs_dr \~\]# ifconfig ens33:1 192.168.8.18 broadcast 192.168.8.18 netmask 255.255.255.255 up //挂载vip vip对外 \[root@lvs_dr \~\]# route add -host 192.168.8.18 dev ens33:1 //加入路由 \[root@lvs_dr \~\]# ipvsadm -A -t 192.168.8.18:8080 -s rr //设置负载均衡规则 -s 轮询策略 \[root@lvs_dr \~\]# ipvsadm -a -t 192.168.8.18:8080 -r 192.168.8.161 -g // java \[root@lvs_dr \~\]# ipvsadm -a -t 192.168.8.18:8080 -r 192.168.8.166 -g //java02 2. 设置rs主机 2.1 在lo接口上绑定vip \[root@java \~\]# ifconfig lo:0 192.168.8.18 broadcast 192.168.8.18 netmask 255.255.255.255 up //挂载vip \[root@java02 \~\]# ifconfig lo:0 192.168.8.18 broadcast 192.168.8.18 netmask 255.255.255.255 up 2.2 添加路由 \[root@java \~\]# route add -host 192.168.8.18 dev lo:0 \[root@java02 \~\]# route add -host 192.168.8.18 dev lo:0 2.3 抑制rs接受请求 \[root@java \~\]# echo 1 \> /proc/sys/net/ipv4/conf/lo/arp_ignore \[root@java \~\]# echo 2 \> /proc/sys/net/ipv4/conf/lo/arp_announce \[root@java \~\]# echo 1 \> /proc/sys/net/ipv4/conf/all/arp_ignore \[root@java \~\]# echo 2 \> /proc/sys/net/ipv4/conf/all/arp_announce \[root@java02 \~\]# echo 1 \> /proc/sys/net/ipv4/conf/lo/arp_ignore \[root@java02 \~\]# echo 2 \> /proc/sys/net/ipv4/conf/lo/arp_announce \[root@java02 \~\]# echo 1 \> /proc/sys/net/ipv4/conf/all/arp_ignore \[root@java02 \~\]# echo 2 \> /proc/sys/net/ipv4/conf/all/arp_announce 2.4 浏览器  8、nginx代理端口 \[root@lvs_dr \~\]# yum -y install nginx \[root@lvs_dr \~\]# vim /etc/nginx/nginx.conf upstream javagroup{ server localhost:8080 weight=95; server 192.168.8.161:8080 weight=3; //java server 192.168.8.166:8080 weight=2; //java02 } location =/ { proxy_pass http://javagroup; }  9、 测试登录 浏览器访问vip 