一、配置一主二从mysql
1. mycat对mysql8不完全支持
2. mysql8主从问题不大get_pub_key=1
3. gtids事务复制
4. 删除/etc/my.cnf
5. 同步data文件需要先停用mysql服务,删除data目录中的auto.cnf
6. gtid模式以及经典模式都需要锁表
flush tables with read lock;
unlock tables;
set @@glopal.read_only=ON;
set @@global.read_only=OFF';
7. 开放mysql服务端
firewall-cmd -- zone=public -- add-
port=3306/tcp -- permanent
firewall-cmd -- reload
firewall-cmd -- list-ports
firewall-cmd -- list-servciel
二、 添加数据库和数据表
(1). 不能修改从服务器
(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
三、 添加登录数据,可以输入sql语句,也可以在图形化界面
四、添加mycat读写分离负载均衡
4.1. nginx,haproxy,lvs负载均衡技术 分不清什么数据库能读,什么数据库能写
4.2. master mysql可读可写,slave mysql只能读取数据
4.3. mycat是阿里开源项目,所以必须安装java环境
4.4.步骤
(1). 开放8066端口
(2). 上传软件包mycat和jdk1.8
(3). 解压
(4). 配置部署java环境
1. 复制到 /usr/local目录下
2. 配置/etc/profile source /etc/profile
3. server.xml
4.schema.xml
5. /usr/local/mycat/bin/mycat start|stop
6. 查看日志文件wrapper.log
五、配置java环境
1、上传包,解压
[root@java ~]# tar -xf jdk-17_linux-x64_bin.tar.gz
[root@java ~]# cp -r jdk-17.0.12/ /usr/local/jdk
2、配置环境变量
[root@java ~]# vim /etc/profile
[root@java ~]# source /etc/profile
[root@java ~]# javac -version
javac 17.0.12
3、部署饿了么后端项目登录模块
[root@java ~]# vim application.yml #mycat服务器IP地址
4、启动服务
[root@java ~]# java -jar eleme_server-0.0.1-SNAPSHOT.jar
克隆一台java
五、使用Ivs代理java服务
1、设置dr主机
[root@lvs-dr ~]# yum -y install ipvsadm.x86_64
[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
[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 //设置负载均衡规则 rr轮询策略
[root@lvs-dr ~]# ipvsadm -a -t 192.168.8.18:8080 -r 192.168.8.189 -g //java机器的IP
[root@lvs-dr ~]# ipvsadm -a -t 192.168.8.18:8080 -r 192.168.8.193 -g
2、分别在两台java主机上绑定vip
[root@java ~]# ifconfig lo:0 192.168.8.18 broadcast 192.168.8.18 netmask 255.255.255.255 up
[root@java ~]# route add -host 192.168.8.18 dev lo:0//抑制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
nginx代理端口
[root@lvs-dr ~]# yum -y install nginx
[root@lvs-dr ~]# vim /etc/nginx/nginx.conf
[root@lvs-dr ~]# nginx
六、测试登录