高并发登录模块

  1. 配置⼀主⼆从mysql57

  2. mycat对mysql8不完全⽀持

  3. mysql8主从问题不⼤ get_pub_key=1

  4. gtids事务复制

  5. 删除/etc/my.cnf

  6. 同步data⽂件需要先停⽤mysql服务,删除data⽬录中的 auto.cnf

  7. gtid模式以及经典模式都需要锁表

    flush tables with read lock;
    unlock tables;
    set @@global.read_only=ON;
    set @@global.read_only=OFF;

  8. 开放mysql服务端⼝

    firewall-cmd --zone=public --addport=3306/tcp --permanent
    firewall-cmd --reload
    firewall-cmd --list-ports
    firewall-cmd --list-servcie

  9. 添加数据库和数据表

  10. 不能修改从服务器

  11. 创建库和表

    #!/bin/bash
    /usr/local/mysql/bin/msyql -proot << EOF
    create database if not exists eleme charset
    utf8mb4;
    use eleme;
    create table t_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)
    values("访客","guest","guest","最低权限");
    quit
    EOF

  12. 添加登录数据,可以输⼊sql语句,也可以在图形化界⾯

  13. 添加mycat读写分离负载均衡

  14. nginx,haprox,lvs负载均衡技术

  15. 分不清什么数据库能读,什么数据库能写

  16. master mysql服务器是可以读写,slave mysql服务器是只 能读

  17. mysql是阿⾥开源项⽬,所以必须安装java环境

  18. 步骤

  19. 开放8066端⼝

  20. 上传mycat和jdk1.8

  21. 解压

  22. 配置部署java环境

  23. 复制到 /usr/local⽬录下

  24. 配置/etc/profile

  25. source profile

  26. mycat的配置

  27. server.xml

  28. user标签设置对外的账号和密码,以及数据库名称

  29. 如果只是代理⼀个主从,就注释其他的user标签

  30. Schema.xml

  31. schema标签 添加dataNode="xx" name="eleme"

  32. datahost修改


4.

5. /usr/local/mycat/bin/mycat start|stop
6. 查看⽇志⽂件wrapper.log《》
7. mycat schema.xml的标签

复制代码
<mycat:schema>
 <schema name="server.xml中的数据库名
称" dataNode="dn1"></schema>
 <dateNode name="dn1" 
dataHost="aaa" database="eleme"/>
 <dateHost name="aaa">
 <writeHost>
 <readHost >
 </readHost>
 </writeHost>
 </dataHost>
</mycat:schema>
  1. 部署2台java后端服务器,jdk版本17

  2. 上传jdk安装https://download.oracle.com/java/17/latest/jd k-17_linux-x64_bin.tar.gz

  3. 配置环境变量/etc/profile

  4. Java -version

  5. 部署饿了么后端项⽬ 登录模块

  6. 修改application.yml⽂件

  7. port 默认8080,可以修改为其他的端⼝,但是修改完
    成之后,需要修改防⽕墙端⼝

  8. url jdbc:mysql://mycat的ip:mycat8066端⼝/eleme3. username=zhangmin

  9. password=zhangmin

  10. 先打开java服务器的端⼝

    firewall-cmd --add-port=8080/tcp --
    permanent
    firewall-cmd --reload

  11. 启动后端服务 jar包

    nohup java -jar element_server_xxxxx.jar&

  12. 在远程浏览器上测试

  13. 使⽤lvs代理java服务

  14. ds

  15. 挂载vip

    ifconfig ens33:0 192.168.71.18
    broadcast 192.168.71.18 netmask
    255.255.255.255 up

  16. 为vip添加路由

    route add 192.168.71.18 dev ens33:0

  17. 安装ipvsadm

    yum -y install ipvsadm
    ipvsadm -Ln
    ipvsadm -C

  18. 设置负载均衡规则

    ipvsadm -A -t 192.168.71.18:8080 -s rr
    ipvsadm -a -t 192.168.71.18:8080 -r
    192.168.71.15 -g
    ipvvsadm -a -t 192.168.71.18:8080 -r
    192.168.71.16 -g

  19. rs

  20. 挂载vip

    ifconfig lo:0 192.168.71.18 broadcast
    192.168.71.18 netmask 255.255.255.255
    up

  21. 为vip 添加路由

    route add 192.168.71.18 dev lo:0

  22. 抑制接受请求

    echo 1 >
    /proc/sys/net/ipv4/conf/lo/arp_ignore
    echo 2 >
    /proc/sys/net/ipv4/conf/lo/arp_announce
    echo 1 >
    /proc/sys/net/ipv4/conf/all/arp_ignore
    echo 2 >
    /proc/sys/net/ipv4/conf/all/arp_announc
    e

  23. Nginx 代理端⼝

相关推荐
予枫的编程笔记7 分钟前
【Linux进阶篇】Linux后台运行避坑指南:nohup、& 用法及Systemd守护进程实操
linux·进程管理·linux运维·nohup·systemctl·ps命令·kill命令
code monkey.10 分钟前
【Linux之旅】Linux 进程间通信(IPC)全解析:从管道到共享内存,吃透进程协作核心
linux·c++·ipc
匆匆那年96716 分钟前
llamafactory推理消除模型的随机性
linux·服务器·学习·ubuntu
好好学习天天向上~~21 分钟前
5_Linux学习总结_vim
linux·学习·vim
Coder个人博客6 小时前
Linux6.19-ARM64 mm mmu子模块深入分析
大数据·linux·车载系统·系统架构·系统安全·鸿蒙系统
Doro再努力9 小时前
Vim 快速上手实操手册:从入门到生产环境实战
linux·编辑器·vim
wypywyp9 小时前
8. ubuntu 虚拟机 linux 服务器 TCP/IP 概念辨析
linux·服务器·ubuntu
Doro再努力9 小时前
【Linux操作系统10】Makefile深度解析:从依赖推导到有效编译
android·linux·运维·服务器·编辑器·vim
senijusene9 小时前
Linux软件编程:IO编程,标准IO(1)
linux·运维·服务器
忧郁的橙子.9 小时前
02-本地部署Ollama、Python
linux·运维·服务器