高并发登录模块

  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 代理端⼝

相关推荐
小白跃升坊20 分钟前
基于1Panel的AI运维
linux·运维·人工智能·ai大模型·教学·ai agent
跃渊Yuey39 分钟前
【Linux】线程同步与互斥
linux·笔记
舰长11542 分钟前
linux 实现文件共享的实现方式比较
linux·服务器·网络
zmjjdank1ng1 小时前
Linux 输出重定向
linux·运维
路由侠内网穿透.1 小时前
本地部署智能家居集成解决方案 ESPHome 并实现外部访问( Linux 版本)
linux·运维·服务器·网络协议·智能家居
VekiSon1 小时前
Linux内核驱动——基础概念与开发环境搭建
linux·运维·服务器·c语言·arm开发
zl_dfq2 小时前
Linux 之 【进程信号】(signal、kill、raise、abort、alarm、Core Dump核心转储机制)
linux
Ankie Wan2 小时前
cgroup(Control Group)是 Linux 内核提供的一种机制,用来“控制、限制、隔离、统计”进程对系统资源的使用。
linux·容器·cgroup·lxc
skywalk81632 小时前
尝试在openi启智社区的dcu环境安装ollama最新版0.15.2(失败)
linux·运维·服务器·ollama
zhengfei6113 小时前
AutoPentestX – Linux 自动化渗透测试和漏洞报告工具
linux·运维·自动化