上线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;

}

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/406838.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

科研绘图系列:Python语言时间趋势图

介绍 不同指标在时间上的变化,可以用时间序列线图表示趋势。 加载Python包 import sys import pandas as pd import numpy as np import scipy as sp from scipy import stats import randomimport seaborn as sns import matplotlib.pyplot as plt from matplotl

Open3D mesh 隐藏点移除

目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.2完整代码 三、实现效果 3.1原始点云 3.2去除隐藏点后的点云 Open3D点云算法汇总及实战案例汇总的目录地址: Open3D点云算法与点云深度学习案例汇总(长期更新&…

C++ | Leetcode C++题解之第363题矩形区域不超过K的最大数值和

题目&#xff1a; 题解&#xff1a; class Solution { public:int maxSumSubmatrix(vector<vector<int>> &matrix, int k) {int ans INT_MIN;int m matrix.size(), n matrix[0].size();for (int i 0; i < m; i) { // 枚举上边界vector<int> sum(…

开关电源测试系统方案:系统结构功能、特点、测试项目

为了应对开关电源测试中的复杂挑战&#xff0c;我们推出了NSAT-8000系列开关电源ate测试系统&#xff0c;它以其全面的功能和灵活性&#xff0c;适应了电源产品测试场景&#xff0c;解决了测试难题。 开关电源测试系统 NSAT-8000系列之开关电源测试系统适用于AC/DC和DC/DC开关电…

如何使用 Higress 快速构建 AI 应用?

随着 AI 时代到来&#xff0c;基于大模型的应用对网关提出了新的要求&#xff0c;例如在不同 LLM 提供商之间进行负载均衡、构建 AI 应用的可观测能力、基于 token 的限流保护与配额管理、AI 应用内容安全等等。Higress 基于企业内外的丰富场景沉淀了众多面向AI的功能&#xff…

【前端面试】看react源码,解读useState

点击:react git 链接 截止2024.8.22最新版本如下 React hooks 源码好深,hook封装位于packages/react-reconciler/src/ReactFiberHooks.js hook的数据类型: export type Hook = {memoizedState: any,baseState: any,baseQueue: Update<any, any> | null,queue: an…

数据结构(6.2_4)——图的基本操作

注&#xff1a;只探讨邻接矩阵和邻接表怎么实现图的基本操作 Adjacent(G,x,y):判断图G是否存在边<x,y>或(x,y) 领接矩阵 邻接表 有向图&#xff1a; Neighbors(G,x):列出图G中与结点x邻接的边 有向图 InsertVertex(G,x):在图G中插入顶点x DeleteVertex(G,x):在图G中删除…

软件测试-测试分类

测试分类 按照测试目标测试 界面测试 页面内展示的所有内容/元素都需要测试 参考UI图找不同 功能测试 ​ 如何设计功能测试用例&#xff1f; 参考产品规格说明书进行用例的编写&#xff0c;具体的测试用例需要使用黑盒设计测 试用例的方法&#xff0c;如等价类、边界值、…

深入浅出链表

目录 1.链表的基本概念及结构 1.1基本概念 1.2结构 2.链表的分类 3.链表的实现&#xff08;循环链表增删查改实现&#xff09; 1.动态申请节点&#xff08;结点&#xff09;​编辑 2.单链表打印 3.单链表尾插 4.单链表头插 5.单链表尾删 6.单链表头删 7.单链表查找 …

如何应对突发技术故障和危机:开发团队的应急策略

开发团队如何应对突发的技术故障和危机&#xff1f; 在数字化时代&#xff0c;软件服务的稳定性对于企业至关重要。然而&#xff0c;即使是大型平台&#xff0c;如网易云音乐&#xff0c;也可能遇到突发的技术故障。网页端出现502 Bad Gateway 报错&#xff0c;且App也无法正常…

亚信科技转型持久战:扎根行业大模型,深耕行业数字化

有人说&#xff1a;“AI大模型时代&#xff0c;每个行业和产品都值得重新做一遍。” 深以为然。自大模型2023年迅速崛起以来&#xff0c;AI技术不断取得突破&#xff0c;并开始深刻影响多个领域。这其中&#xff0c;AI大模型如何从通用走向垂直行业成为当下产业界最为关心的话…

45+用户占比近30%,网文产业如何赋能IP长链?

网文市场加速发展&#xff0c;巨头抢占中老年用户 作者&#xff5c;吕娆炜 排版&#xff5c;张思琪 干货抢先看 1. 我国网文产业市场规模突破3000亿元&#xff0c;在用户方面&#xff0c;截至2023年底&#xff0c;我国网文用户数量达5.37亿&#xff0c;同比增长9%&#xff0c…

【机器学习】线性回归

一、什么是回归 分类任务很好理解&#xff0c;比如去银行贷款&#xff0c;银行会根据贷款人的年龄、工资&#xff08;特征&#xff09;去决定贷款&#xff08;标签1&#xff09;和不贷款&#xff08;标签0&#xff09;。而回归任务&#xff0c;是预测允许贷款的额度&#xff08…

【学习笔记】灰色预测 GM(1,1) 模型 —— Matlab

文章目录 前言一、灰色预测模型灰色预测适用情况GM (1,1)模型 二、示例指数规律检验(原始数据级比检验)级比检验的定义GM(1,1) 模型的级比检验 模型求解求解微分方程 模型评价(检验模型对原始数据的拟合程度)残差检验级比偏差检验 三、代码实现----Matlab级比检验代码模型求解代…

0成本学习Liunx系统【只需要一台笔记本电脑,无需购买云服务器】

【准备工作&#xff0c;需要软件】&#xff1a; 1&#xff1a;MobaXterm 【服务器连接工具&#xff08;免费开源&#xff09;】 2&#xff1a;CentOS-7-x86_64-DVD-2009.iso 【CentOS-7 镜像】 3&#xff1a;VirtualBox-7.0.20-163906-Win.exe 【虚拟机壳子】 4&…

20 动态内存管理

目录 一、为什么要有动态内存管理 二、malloc 和 free &#xff08;一&#xff09;malloc &#xff08;二&#xff09;free 三、calloc 和 realloc &#xff08;一&#xff09;calloc &#xff08;二&#xff09;realloc 四、常见的动态内存错误 &#xff08;一&#…

前端本地代理配置方式

Whistle 介绍 Whistle 是一个基于 Node.js 的跨平台 Web 调试工具。允许捕获、查看和修改 HTTP/HTTPS 网络请求。通过使用 Whistle&#xff0c;可以轻松地进行接口代理、抓包、模拟数据、修改请求和响应等操作&#xff0c;以便在前端开发中调试网络请求。 Proxy SwitchyOmega…

133-横向移动域控提权NetLogonADCSPACKDC永恒之蓝

除了前面讲到的口令密码进行横向移动&#xff0c;还存在使用系统漏洞进行的横向移动的方式&#xff0c;本节课就是讲一些域内系统的漏洞&#xff0c;主要是域控提权的一些漏洞 1、横向移动-系统漏洞-CVE-2017-0146&#xff08;ms17-010&#xff0c;永恒之蓝&#xff09; 2、横…

Java之迭代器的使用

Java之迭代器的使用 摘要基础知识List迭代器Map迭代器 摘要 本博客主要讲解容器的迭代器的使用&#xff0c;包括List、Set和Map等容器 基础知识 这是类的继承关系图 迭代器的原理(一开始迭代器并不指向任何有效元素)&#xff1a; List迭代器 public class TestIterator …

World of Warcraft [CLASSIC] the Eye of Eternity [EOE] P1-P2

World of Warcraft [CLASSIC] the Eye of Eternity [EOE] 永恒之眼&#xff08;蓝龙&#xff09; 第一阶段 第二阶段 第三阶段 载具1-6技能介绍 World of Warcraft [CLASSIC] the Eye of Eternity [EOE]_永恒之眼 eoe-CSDN博客 永恒之眼怎么出副本呢&#xff0c;战斗结束&am…