当前位置: 首页 > news >正文

上线eleme项目

(一)搭建主从从数据库

主服务器master

首先下载mysql57安装包,然后解压

复制改目录到/usr/local底下并且改个名字

cp -r mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql

删掉/etc/my.cnf   这个会影响mysql57的启动

rm -rf /etc/my.cnf

创建files目录

mkdir /usr/local/mysql/mysql-files

创建mysql用户

useradd -r -s /sbin/nologin mysql

修改files的权限

chown mysql:mysql /usr/local/mysql/mysql-files/

chmod 750 /usr/local/mysql/mysql-files/

初始化并且查看mysql登录的初始密码

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql

看到data文件证明初始化成功

为了便捷,cp一下support-files/mysql.server并且改个名字方便启动

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql57

启动mysql

service mysql57 start

出现success即成功

创建my.cnf文件

vim /usr/local/mysql/my.cnf

[mysqld]

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

socket=/tmp/mysql.sock

port=3306

log-error=/usr/local/mysql/data/db01-master.err

log-bin=/usr/local/mysql/data/binlog

server-id=10

character_set_server=utf8mb4

重新启动

先start再restart

再修改profile环境文件,方便登录mysql

[root@master ~]# sed -i '$aexport PATH=/usr/local/mysql/bin:$PATH' /etc/profile

[root@master ~]# source /etc/profile

这里输入前面的初始化密码即可进

进去之后先改密码

set password='1';

再登录验证发现没有问题

创建数据库eleme

create database if not exists eleme charset utf8mb4;

再使用它

use eleme;

创建表,t_user

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) not null);

再查看

desc t_user;

向表中添加数据

 insert into t_user (id,name,username,password,remark)values("1","超级管理员","admin","admin","超级管理员");

insert into t_user (id,name,username,password,remark)values("2","普通用户","guest","guest","普通用户");

再查看

select * from t_user;

为从服务器添加用户

create user 'slave01'@'%' identified by '1';

create user 'slave02'@'%' identified by '1';

grant replication slave on *.* to 'slave01'@'%';

grant replication slave on *.* to 'slave02'@'%';

flush privileges;

在master中锁表,然后查看⼆进制⽂件和位置

flush tables with read lock;

show master status;

从服务器slave01

先下载mysql57包,从master传过来就可以了

scp root@192.168.1.21:~/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz ./

再解压

tar -xvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz

复制目录到/usr/local底下

cp -r mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql

在master和slave上下载rsync同步数据,但是要删掉master目录下的一个文件,如下图

删除圈出来的

rm -rf auto.cnf

yum -y install rsync

在主服务器上

rsync -av /usr/local/mysql/data root@192.168.1.22:/usr/local/mysql/

然后去从查看有无data

然后做下面的操作

rm -rf /etc/my.cnf

mkdir /usr/local/mysql/mysql-files

useradd -r -s /sbin/nologin mysql

chown mysql:mysql /usr/local/mysql/mysql-files/

chmod 750 /usr/local/mysql/mysql-files/

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql57

service mysql57 start

配置文件中是

[mysqld]

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

socket=/tmp/mysql.sock

port=3310

log-error=/usr/local/mysql/data/db01-slave.err

relay-log=/usr/local/mysql/data/relaylog

server-id=11

character_set_server=utf8mb4

然后再重启

修改环境变量

sed -i '$aexport PATH=/usr/local/mysql/bin:$PATH' /etc/profile

source /etc/profile

连接数据库

mysql -uroot -p

在从服务器中,使⽤change master to 指定主服务器,并实现数 据同步

 change master to

    -> master_host='192.168.1.21',

    -> master_user='slave01',

    -> master_password='1',

    -> master_port=3306,

    -> master_log_file='binlog.000002',

-> master_log_pos=2594;

start slave;

show slave status\G;

发现是连接状态

然后退出mysql去远程连接,获得公钥

再尝试一遍

mysql -uslave01 -p1 -h 192.168.1.21 -P3306 --get-server-public-key

进去之后直接退出来

然后mysql -uroot -p

验证同步数据

也没有问题

从服务器slave02

道理和slave01一样,按步骤来就完成了

验证也没有问题

(二)Mycat配置

首先下载并且解压安装包

然后复制目录并且改名

[root@mycat ~]# cp -r jdk1.8.0_192/ /usr/local/jdk

[root@mycat ~]# cp -r mycat/ /usr/local/

查看并且配置jdk环境

[root@mycat ~]# sed -i '$aexport JAVA_HOME=/usr/local/jdk' /etc/profile

[root@mycat ~]# source /etc/profile

[root@mycat ~]# sed -i '$aexport PATH=$PATH:$JAVA_HOME/bin' /etc/profile

[root@mycat ~]# source /etc/profile

配置文件

vim /usr/local/mycat/conf/server.xml

“ln”是master创建用于被访问的

去master机器创建

create user 'ln'@'%' identified by '1';

grant all on *.* to 'ln'@'%';

flush privileges;

vim /usr/local/mycat/conf/schema.xml

启动服务

/usr/local/mycat/bin/mycat start

检查启动的是否成功

root@mycat ~]# netstat -lnput|grep 8066

tcp6       0      0 :::8066                 :::*                    LISTEN      4547/java  

开启8080端口和3310端口

firewall-cmd --zone=public --add-port=8080/tcp --permanent

firewall-cmd --zone=public --add-port=3310/tcp --permanent

firewall-cmd --reload

(三)搭建Java_static

下载下图软件包并且解压jdk包

解压完成以后cp   jdk  目录,复制到/usr/local底下

cp -r jdk-17.0.12/ /usr/local/jdk

再部署环境变量

vim /etc/profile

检验Java版本

然后创建一个文件

vim application.yml

再上传一个包直接用Java运行它

java -jar eleme_server-0.0.1-SNAPSHOT.jar

然后去浏览器访问Java_static的地址加8080端口

账户密码都用admin测试

就成功登录进来了

(四) 使⽤lvs代理java服务

(1)ds

1. 挂载vip

ifconfig ens33:0 192.168.1.41 broadcast 192.168.1.41 netmask 255.255.255.255 up

2. 为vip添加路由

route add 192.168.1.41 dev ens33:0

3. 安装ipvsadm

yum -y install ipvsadm

ipvsadm -Ln

ipvsadm -C

4. 设置负载均衡规则

ipvsadm -A -t 192.168.1.41:8080 -s rr

ipvsadm -a -t 192.168.1.41:8080 -r

192.168.1.26 -g

ipvsadm -a -t 192.168.1.41:8080 -r

192.168.1.27 -g

(2)rs

1. 挂载vip

ifconfig lo:0 192.168.1.41 broadcast 192.168.1.41 netmask 255.255.255.255 up

2. 为vip 添加路由

route add 192.168.1.41 dev lo:0

3. 抑制接受请求

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_announce

(五)Nginx 代理端⼝

upstream javagroup {

Server localhost:8080 weight=95;

Server 192 168.71.15:8080 weight=3

Server 192.168.71.16:8080 weight=2;

}

进入配置文件修改下图内容

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 怎么整合spring security和JWT
  • 【Unity3D小技巧】Unity3D中实现FPS数值显示功能实现
  • CSS 的了解text-rendering属性
  • 大模型学习笔记 - LLM 之 LLaMA系列(待更新)
  • 缺失ffmpeg.dll要用什么修复方法?快速恢复丢失的ffmpeg.dll文件
  • C++基础面试题 | C和C++的区别?
  • 【小趴菜前端学习日记3】
  • 【速览】计算机网络(更新中)
  • 使用VRoid Studio二次元建模,创建专属于自己的二次元卡通人物模型,创建完全免费开源且属于自己VRM模型
  • css 宫格样式内容上下结构
  • 井盖异动传感器:为城市安全加码
  • 电机启动对单片机重启的影响
  • 【Android】Android AOP 编程框架
  • Openvino2024.3版部署YOLO (C++)
  • 【高级IO-4】I/O多路转接 之 epoll(概念及代码实例)
  • 2017 前端面试准备 - 收藏集 - 掘金
  • AWS实战 - 利用IAM对S3做访问控制
  • Codepen 每日精选(2018-3-25)
  • es6--symbol
  • Flex布局到底解决了什么问题
  • Joomla 2.x, 3.x useful code cheatsheet
  • js写一个简单的选项卡
  • ReactNative开发常用的三方模块
  • vuex 学习笔记 01
  • 对象引论
  • 记一次和乔布斯合作最难忘的经历
  • 理清楚Vue的结构
  • 如何进阶一名有竞争力的程序员?
  • 数组的操作
  • 微服务入门【系列视频课程】
  • 走向全栈之MongoDB的使用
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • ​HTTP与HTTPS:网络通信的安全卫士
  • ​决定德拉瓦州地区版图的关键历史事件
  • #systemverilog# 之 event region 和 timeslot 仿真调度(十)高层次视角看仿真调度事件的发生
  • #图像处理
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (2020)Java后端开发----(面试题和笔试题)
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (算法)Travel Information Center
  • (学习总结16)C++模版2
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • (转)大型网站的系统架构
  • 、写入Shellcode到注册表上线
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .aanva
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .net redis定时_一场由fork引发的超时,让我们重新探讨了Redis的抖动问题
  • .NET 表达式计算:Expression Evaluator
  • .net 受管制代码
  • 。Net下Windows服务程序开发疑惑
  • [Angular] 笔记 18:Angular Router
  • [AutoSar]BSW_OS 01 priority ceiling protocol(PCP)