MYSQL数据库集群高可用和数据监控平台

news2025/5/16 21:24:33

项目环境

项目拓扑结构

软硬件环境清单

软硬件环境清单

软硬件环境清单

主机名IP硬件软件     
master1

192.168.12.130

VIP:192.168.12.200

cpu:1颗2核

内 存:2GB

HDD:20GB

网 络:NAT

VmWare17 OpenEuler22.03 SP4 MySql8.0.37 Keepalived2.2.4
master2

192.168.12.131

VIP:192.168.12.200

cpu:1颗2核

内 存:2GB

HDD:20GB

网 络:NAT

VmWare17 OpenEuler22.03 SP4 MySql8.0.37 Keepalived2.2.4
monitor192.168.12.132

cpu:1颗2核

内 存:2GB

HDD:20GB

网 络:NAT

VmWare17 OpenEuler22.03 SP4 MySql8.0.37 Keepalived2.2.4

项目实现步骤

OpenEuler系统安装

系统配置

环境配置

主机名:

关闭三台主机防火墙及SELinux:

reboot

三台主机下载所需软件并升级:

yum  install  vim  make  gcc  tree  net-tools tar  -y
yum  update

三台主机重新设置登录系统密码:

passwd root

三台主机时间同步:

【时间不同步有可能导致主从架构或主主架构出现异常】

vim  /etc/chrony.conf

server   ntp.aliyun.com   iburst
systemctl restart  chronyd
chronyc  sources  -v 

【可多执行几次】

master1

master2:

monitor:

timedatectl

生产环境二进制包安装MySql

[注意:2台MySql服务器安装过程相同,以下以master1主机为例 ]

下载安装包

解压缩:
tar  xvf  mysql-8.0.37-linux-glibc2.17-x86_64.tar.xz

查看是否解压成功:

cd  mysql-8.0.37-linux-glibc2.17-x86_64

使用前的准备
cd  ~ 
mv  mysql-8.0.37-linux-glibc2.17-x86_64  /usr/local/mysql
cd /
cd /usr/local/mysql 

创建用户组mysql:

groupadd mysql

创建名为 mysql的系统用户:

【将其添加到mysql用户组中,并设置其登录shell为/bin/false,以限制该用户的登录权限】

useradd -r -g mysql -s /bin/false mysql

创建用于存放MySQL数据文件目录:

mkdir data

设置mysql目录的账户及工作组,生产环境中不要使用root:

chown -R mysql:mysql /usr/local/mysql 

初始化软件
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

master1:

root@localhost:ycx%ci7loPrg

master2:

root@localhost:8nRCf5s<?QBF

使用后台方式以mysql用户身份启动 MySQL 服务器:

【mysqld_safe 是一个用于启动和监控 MySQL 服务器的脚本】

bin/mysqld_safe --user=mysql &

【注意:

此时上述命令执行完毕处于后台运行状态,需要另行启动一个终端

查看进程运行状态:

ps  -ef | grep  mysql

cd  /usr/local/mysql

 登录:

【可能报错】

bin/mysql -uroot -p

【报错,需要找到下面的文件进行软连接】

cd ~
ln -s /usr/lib64/libncurses.so.6.3 /usr/lib64/libncurses.so.5
ln -s /usr/lib64/libtinfo.so.6.3 /usr/lib64/libtinfo.so.5

登录:

cd  /usr/local/mysql
bin/mysql -uroot -p
ycx%ci7loPrg
              ---【master1】
8nRCf5s<?QBF
              ---【master2】

修改密码:

 alter  user 'root'@'localhost'  identified  with  mysql_native_password by '123456';

刷新:

flush privileges; 

查看账户信息:

select user, host, plugin from mysql.user;

退出MySQL:

exit

查看当前MySQL进程:

ps -ef | grep mysql

master1:

master2:

在当前终端关闭运行的mysql:

kill  -9  pid号  
设置mysql的配置文件

【 回到之前的终端,敲一个回车,显示进程以杀死】

新建:

vim /etc/my.cnf
[client]
port = 3306
socket = /tmp/mysql.sock

[mysqld]
port = 3306
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
tmpdir = /tmp
socket = /tmp/mysql.sock
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
default-storage-engine=INNODB
log_error = error.log
配置启动脚本
cd  /usr/local/mysql/support-files
cp -a mysql.server /etc/init.d/mysql
vim  /etc/init.d/mysq
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

cd  ~ 

设置环境变量需添加如下语句:

vim  ~/.bash_profile
export PATH=$PATH:/usr/local/mysql/bin

source  ~/.bash_profile

重载系统配置:

systemctl daemon-reload

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

uni-app vue3版本打包h5后 页面跳转报错(uni[e] is not a function)

先看问题 解决方案 在HBuilderX项目中&#xff0c;若需在Web配置中显式关闭摇树优化&#xff08;Tree Shaking&#xff09;&#xff0c;可以通过以下步骤实现&#xff1a;首先&#xff0c;在配置中打开摇树优化&#xff0c;然后再将其关闭。这样操作后&#xff0c;配置文件中会…

【Redis】缓存穿透、缓存雪崩、缓存击穿

1.缓存穿透 是指客户端请求的数据在缓存中和数据库中都不存在&#xff0c;这样缓存永远不会生效&#xff0c;导致请求直接穿透缓存到达数据库&#xff0c;给数据库带来压力的情况。 常见的解决方案有两种&#xff1a; 缓存空对象&#xff1a;实现简单&#xff0c;维护方便&am…

告别数据僵尸!Redis实现自动清理过期键值对

在这个数据爆炸的时代&#xff0c;内存就像珍贵的土地资源&#xff0c;而Redis则是这片土地上的智能管家。它不仅能高效存储数据&#xff0c;还能像秋叶定时凋零般&#xff0c;让键值对在指定时间自动消失。今天&#xff0c;就让我们揭开这项"数据保鲜"技术的奥秘。 …

web第三次课后作业--基于JDBC对mysql数据库的增删查改操作

一、工程搭建步骤 1.新建java项目&#xff0c;添加jdbc依赖 2.写java程序 3.添加mysql数据源&#xff0c;连接本地数据库 4.运行程序二、运行结果 三、代码 代码解析 加载数据驱动 try {Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundExceptio…

[数据结构]5. 栈-Stack

栈-Stack 1. 介绍2. 栈的实现2.1 基于链表的实现2.2 基于数组的实现 3. 栈操作CreateInitilizateDestoryPushPopTopEmptySize 1. 介绍 栈&#xff08;stack&#xff09; 是一种遵循先入后出逻辑的线性数据结构。顶部称为“栈顶”&#xff0c;底部称为“栈底”。把元素添加到栈…

基于Spring Boot + Vue的高校心理教育辅导系统

一、项目背景介绍 随着高校对学生心理健康教育的重视&#xff0c;传统的人工心理辅导与测评模式已经难以满足广大师生的个性化需求。为了提高心理服务的效率、便捷度和覆盖范围&#xff0c;本项目开发了一个高校心理教育辅导系统&#xff0c;集成心理评测、辅导预约、留言交流…

JavaSwing之-JDialog

JavaSwing之-JDialog JDialog 是 Java Swing 中用于创建对话框窗口的容器类&#xff0c;继承自 Dialog 类&#xff08;AWT&#xff09;&#xff0c;常用于显示临时信息、获取用户输入或执行模态操作。它是 javax.swing.JDialog 包中的类。 与 JFrame 不同的是&#xff0c;JDia…

【学习路线】 游戏客户端开发入门到进阶

目录 游戏客户端开发入门到进阶&#xff1a;系统学习路线与推荐书单一、学习总原则&#xff1a;从底层出发&#xff0c;项目驱动&#xff0c;持续迭代二、推荐学习路线图&#xff08;初学者→进阶&#xff09;第一阶段&#xff1a;语言基础与编程思维第二阶段&#xff1a;游戏开…

部署安装gitlab-ce-17.9.7-ce.0.el8.x86_64.rpm

目录 ​编辑 实验环境 所需软件 实验开始 安装部署gitlab171.配置清华源仓库&#xff08;版本高的系统无需做&#xff09;vim /etc/yum.repos.d/gitlab-ce.repo 2.提前下载包dnf localinstall gitlab-ce-17.9.7-ce.0.el8.x86_64.rpm --rocklinux 3.修改配…

备战菊厂笔试2-BFS记忆化MLE?用Set去重-Set会TLE?用SortedSet剪枝

目录 200.岛屿数量 不用getnei&#xff0c;直接在dfs判断&#xff0c;去掉解包 如果害怕栈溢出那么可以用bfs 2617.网格图中最少访问的格子数 注意特判&#xff01; MLE主要是因为vis占用的内存过大 用SortedSet有序剪枝 什么是SortedSet&#xff1f; 基本性质 导入 …

【RabbitMQ】发布确认机制的具体实现

文章目录 模式介绍建立连接单独确认代码实现逻辑运行结果 批量确认代码实现逻辑运行结果 异步确认实现逻辑介绍代码实现逻辑运行结果 三种策略对比以及完整代码 模式介绍 作为消息中间件&#xff0c;都会面临消息丢失的问题&#xff0c;消息丢失大概分为三种情况&#xff1a; …

React状态管理-对state进行保留和重置

相同位置的相同组件会使得 state 被保留下来 当你勾选或清空复选框的时候&#xff0c;计数器 state 并没有被重置。不管 isFancy 是 true 还是 false&#xff0c;根组件 App 返回的 div 的第一个子组件都是 <Counter />&#xff1a; 你可能以为当你勾选复选框的时候 st…

vue和springboot交互数据,使用axios【跨域问题】

vue和springboot交互数据&#xff0c;使用axios【跨域问题】 提示&#xff1a;帮帮志会陆续更新非常多的IT技术知识&#xff0c;希望分享的内容对您有用。本章分享的是node.js和vue的使用。前后每一小节的内容是存在的有&#xff1a;学习and理解的关联性。【帮帮志系列文章】&…

AJAX 使用 和 HTTP

ajax学习 promise和 awit Node.js 和 webpack 前端工程化 Git工具 AJAX异步的JS和XML&#xff1a; 使用XML对象和服务器通信 在这里插入图片描述 统一资源定位符 URL HTTP 超文本传输协议 域名 资源路径 资源目录和类型 URL 查询参数 使用&#xff1f;表示之后的参数…

MySQL之基础事务

目录 引言&#xff1a; 什么是事务&#xff1f; 事务和锁 mysql数据库控制台事务的几个重要操作指令&#xff08;transaction.sql&#xff09; 1、事物操作示意图&#xff1a; 2.事务的隔离级别 四种隔离级别&#xff1a; 总结一下隔离指令 1. 查看当前隔离级别​​ …

MySQL基础关键_013_常用 DBA 命令

目 录 一、MySQL 用户信息存储位置 二、新建用户 1.创建本地用户 2.创建外网用户 三、用户授权 1.说明 2.实例 四、撤销授权 五、修改用户密码 六、修改用户名、主机名/IP地址 七、删除用户 八、数据备份 1.导出数据 2.导入数据 &#xff08;1&#xff09;方式…

java基础:异常体系

目录 一、java异常体系介绍二、异常1、运行时异常2、非运行时异常 三、错误四、异常的处理方式1、方式1&#xff1a;throws声明抛出异常1.1、throws关键字1.2、throw关键字 2、方式2&#xff1a;try-catch-finally 一、java异常体系介绍 异常体系图如下&#xff1a; Throwable…

记录算法笔记(20025.5.14)对称二叉树

给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a;root [1,2,2,3,4,4,3] 输出&#xff1a;true 示例 2&#xff1a; 输入&#xff1a;root [1,2,2,null,3,null,3] 输出&#xff1a;false 提示&#xff1a; 树中节点数目…

QT Creator配置Kit

0、背景&#xff1a;qt5.12.12vs2022 记得先增加vs2017编译器 一、症状&#xff1a; 你是否有以下症状&#xff1f; 1、用qt新建的工程&#xff0c;用qmake&#xff0c;可惜能看见的只有一个pro文件&#xff1f; 2、安装QT Creator后&#xff0c;使用MSVC编译显示no c com…

JVM 与云原生的完美融合:引领技术潮流

最近佳作推荐&#xff1a; Java 大厂面试题 – 揭秘 JVM 底层原理&#xff1a;那些令人疯狂的技术真相&#xff08;New&#xff09; Java 大厂面试题 – JVM 性能优化终极指南&#xff1a;从入门到精通的技术盛宴&#xff08;New&#xff09; Java 大厂面试题 – JVM 深度剖析&…