RPM、YUM 安装 xtrabackup 8 (mysql 热备系列一)包含rpm安装 mysql 8 配置主从
RPM安装 percona-xtrabackup-80-8.0.35-30.1.el7.x86_64.rpm
官网: https://www.percona.com/
下载地址: https://www.percona.com/downloads

 
wget https://downloads.percona.com/downloads/percona-distribution-mysql-ps/percona-distribution-mysql-ps-8.0.36/binary/redhat/7/x86_64/percona-xtrabackup-80-8.0.35-30.1.el7.x86_64.rpmyum install -y percona-xtrabackup-80-8.0.35-30.1.el7.x86_64.rpm#报错:
--> Running transaction check
---> Package mariadb-libs.x86_64 1:5.5.68-1.el7 will be installed
--> Processing Dependency: libmysqlclient.so.18(libmysqlclient_18)(64bit) for package: perl-DBD-MySQL-4.023-6.el7.x86_64
--> Processing Dependency: libmysqlclient.so.18()(64bit) for package: perl-DBD-MySQL-4.023-6.el7.x86_64
--> Finished Dependency Resolution
Error: Package: perl-DBD-MySQL-4.023-6.el7.x86_64 (base)Requires: libmysqlclient.so.18()(64bit)
Error: Package: perl-DBD-MySQL-4.023-6.el7.x86_64 (base)Requires: libmysqlclient.so.18(libmysqlclient_18)(64bit)You could try using --skip-broken to work around the problem
** Found 1 pre-existing rpmdb problem(s), 'yum check' output follows:
mysql-community-server-8.0.36-1.el7.x86_64 has missing requires of mysql-community-icu-data-files = ('0', '8.0.36', '1.el7')
安装依赖
 
rpm -ivh mysql-community-libs-compat-8.0.36-1.el7.x86_64.rpm# 安装完继续执行即可完成安装
yum install -y percona-xtrabackup-80-8.0.35-30.1.el7.x86_64.rpm
yum 安装 xtrabackup 8
1.安装libev依赖yum install libev
2.安装zstd依赖yum install epel-release -y
yum install zstd -y 
3.安装Percona yum存储库yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm -y
4.启用存储库percona-release enable-only tools
5.安装xtrabackupyum install percona-xtrabackup-80
至此,xtrabackup安装完成番外:安装 Mysql
查看mysql版本 mysql --help| grep Distrib
环境:
 mysql 主:10.128.0.3
 mysql 从:10.128.0.4
 两台服务器都装上 mysql8
# 创建下载目录
mkdir -p /opt/mysql
cd /opt/mysql
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.36-1.el7.x86_64.rpm-bundle.tar
tar xf mysql-8.0.36-1.el7.x86_64.rpm-bundle.tar # 卸载 mariadb 组件
yum remove mariadb-libs -y
# 安装
rpm -ivh  mysql-community-common-8.0.36-1.el7.x86_64.rpm
rpm -ivh  mysql-community-client-plugins-8.0.36-1.el7.x86_64.rpm
rpm -ivh  mysql-community-libs-8.0.36-1.el7.x86_64.rpm
rpm -ivh  mysql-community-client-8.0.36-1.el7.x86_64.rpm
rpm -ivh  mysql-community-server-8.0.36-1.el7.x86_64.rpm# 无法安装可强制安装
rpm -ivh  mysql-community-server-8.0.36-1.el7.x86_64.rpm --nodeps --force# 根据报错安装配置依赖
yum install -y numactl# 初始化
mkdir -p /var/lib/mysql/{log,data}
chown -R mysql.mysql /var/lib/mysqlmysqld --initialize  --lower-case-table-names=1# 修改my.cnf
配置文件在下方,若不修改配置文件,启动会报错,因为上方默认开启参数 lower-case-table-names# 启动
systemctl start mysqld# 查看初始密码
cat /var/log/mysqld.log | grep password
2024-01-23T14:03:00.144612Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 
>6kWYu_Ldwtf也有密码在配置文件设定的日志位置:/var/lib/mysql/log/error.log 里
防止报错,可以提前创建目录以及设定属组mkdir -p /var/lib/mysql/{data,log}
chown -R mysql.mysql /var/lib/mysql# 设置sock软连接
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock# 登入mysql,更改默认密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'line=2.71828c++';# 配置mysql密码文件
echo 'line=2.71828c++' >> /root/mysql# 登入mysql
mysql -uroot -p`cat /root/mysql`
配置主从
# 在主节点创建一个用户mysql-slave,用于从节点mysql-slave链接主节点时使用。
CREATE USER 'mysql-slave'@'10.128.0.%' IDENTIFIED WITH mysql_native_password BY '71inE828@l@@';
GRANT REPLICATION SLAVE ON *.* TO 'mysql-slave'@'10.128.0.%';# 刷新授权表信息
flush privileges;# 获取主节点当前binary log文件名和位置(position)
mysql> SHOW MASTER STATUS;
+-------------------+----------+--------------+------------------+-------------------+
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+--------------+------------------+-------------------+
| node01-bin.000056 |      610 |              |                  |                   |
+-------------------+----------+--------------+------------------+-------------------+# 在从(Slave)节点上设置主节点参数
CHANGE MASTER TO
MASTER_HOST='10.128.0.3',
MASTER_USER='mysql-slave',
MASTER_PASSWORD='71inE828@l@@',
MASTER_LOG_FILE='node01-bin.000056',
MASTER_LOG_POS=610;
my.cnf
[mysqld]
datadir=/var/lib/mysql/data
basedir=/var/lib/mysql
plugin_dir=/usr/lib64/mysql/plugin
tmpdir=/tmp
#sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
tmp_table_size=128M
socket=/var/lib/mysql/mysql.sock
log-bin=/var/lib/mysql/log/node01-bin
binlog_cache_size = 16M
max_binlog_size = 1G
binlog_checksum=NONE
binlog_expire_logs_seconds = 604800
log_timestamps=SYSTEM 
server-id=1
innodb_file_per_table=ON
host_cache_size=0
skip_name_resolve=ON
skip-external-locking
default_storage_engine = InnoDB
max_allowed_packet = 512M
max_connections = 4300
open_files_limit = 10000
slow_query_log = 1
slow_query_log_file = /var/lib/mysql/log/slow.log
lower_case_table_names = 1
long_query_time = 1
user = mysql
default-storage-engine = InnoDB
transaction_isolation = REPEATABLE-READ #READ-COMMITTED
back_log = 5120 #50
max_connect_errors = 5120 #10
table_open_cache = 2845
max_heap_table_size = 128M
sort_buffer_size = 8M
join_buffer_size = 8M
thread_cache_size = 512
#query_cache_size = 32M
#query_cache_limit = 2M
#query_cache_type = 2
ft_min_word_len = 4###innodb_file_format=Barracuda
###innodb_page_size=4K
innodb_flush_neighbors=0
innodb_buffer_pool_size = 2048M #innodb_buffer_pool_size = 80G
###innodb_data_file_path = ibdata1:256M;ibdata2:256M:autoextend
innodb_write_io_threads = 2 # innodb_write_io_threads = 16
innodb_read_io_threads = 2 # innodb_read_io_threads = 8
innodb_io_capacity = 2000 # innodb_io_capacity = 6000
innodb_io_capacity_max = 4000  # innodb_io_capacity_max = 8000
#innodb_force_recovery=1
innodb_thread_concurrency = 48
innodb_flush_log_at_trx_commit = 2 #1
#innodb_fast_shutdown
innodb_log_buffer_size = 16M #8M
#innodb_log_file_size = 1G
#innodb_log_files_in_group = 2
innodb_max_dirty_pages_pct = 75
innodb_flush_method=O_DIRECT
innodb_lock_wait_timeout = 30
thread_stack = 256Klog-error=/var/lib/mysql/log/error.log
pid-file=/var/lib/mysql/mysqld.pidcharacter-set-server=utf8mb4
collation-server = utf8mb4_unicode_ci
init-connect='SET NAMES utf8mb4'
sql_mode="NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES"[mysql]
default-character-set=utf8mb4[client]
default-character-set=utf8mb4
socket=/var/lib/mysql/mysql.sock
相关文章:
 
RPM、YUM 安装 xtrabackup 8 (mysql 热备系列一)包含rpm安装 mysql 8 配置主从
RPM安装 percona-xtrabackup-80-8.0.35-30.1.el7.x86_64.rpm 官网: https://www.percona.com/ 下载地址: https://www.percona.com/downloads wget https://downloads.percona.com/downloads/percona-distribution-mysql-ps/percona-distribution-mysq…...
 
maven项目打成可运行的jar及pom中的依赖一同打包
maven项目打jar及pom中的依赖一同打包 最近开发中有个需求,不部署新的服务,只jar包执行 那maven项目中,代码如何以jar的方式运行、如何把代码打成jar、pom中的依赖如何与代码一同打到jar包中? 1、代码如何以jar的方式运行&…...
 
Gettler‘s Screep World 笔记 Ⅰ
夏促时候刚刚入坑,写个笔记叭~ 环境配置 参考 HoPGoldy 大佬的简书,先配置下开发环境 萌新去看大佬的详细教程,我这里比较简单,有前端基础的可以直接抄 VSCode 跳过 node 我配的是v18.18.2 换源 npm config set registry h…...
联合体(union)的定义以及如何与结构体(struct)不同
联合体(Union)是一种特殊的数据类型,它允许在相同的内存位置存储不同的数据类型。但是,在任何给定的时间点,联合体只能存储其中的一个值;这意味着联合体的大小是其最大成员的大小,因为它必须足够…...
 
【Spark官方文档部分翻译】RDD编程指南(RDD Programming Guide)
写在前面 内容如何选择 本翻译只翻译本人认为精华的部分,本人认为的Spark的一些核心理念,编程思想。一些特别基础的操作包括但不限于搭建环境就不在此赘述了。 配套版本 本系列基于Spark 3.3.1,Scala 2.12.10,进行翻译总结 原…...
 
前端八股文 $set
为什么会有$set vue2中对数组中新增的属性是监听不到的 如图 vue 插件中有但是 视图中没有刷新 解决方法 解决就是 $set() 就是在数组中新增属性的时候可以重新渲染视图 具体的写法 写法 就是 第一个 是在那个对象上新增 第二个参数 是新增的属性 第三个参数是 新增的属性…...
 
Connecting weaviate with langflow across docker containers
题意:在Docker容器之间连接Weaviate与Langflow 问题背景: I am trying to build a local RAG application using Langflow. For my vectore store, I want to use a local Weaviate instance, hosted in a separate docker container on the same netwo…...
【linux vim使用说明】
基本概念 提示:本文是网络资源整理 模式: vim 有多种模式,每种模式都有不同的功能。 普通模式 (Normal Mode): 默认模式,用于导航和执行命令。插入模式 (Insert Mode): 用于文本输入。可以通过按 i 进入。可视模式 (Visual Mode): 用于选择…...
 
cocos2d-x安装和项目
首先多方查找资料发现教程很简洁,发现对自己的操作方面没多大帮助,后来干脆去官网,好像也很简洁。基于这样一个原因,加上我首次碰cocos2d-x,决定记录一下整个流程,解决实际操作上的疑惑。 涉及的方面&…...
 
因果推断 | 双重机器学习(DML)算法原理和实例应用
文章目录 1 引言2 DML算法原理2.1 问题阐述2.2 DML算法 3 DML代码实现3.1 策略变量为0/1变量3.2 策略变量为连续变量 4 总结5 相关阅读 1 引言 小伙伴们,好久不见呀。 距离上次更新已经过去了一个半月,上次发文章时还信誓旦旦地表达自己后续目标是3周更…...
Flutter 开源库学习
网上看了好多歌词实现逻辑相关资料,封装比较的好的 就 flutter_lyric,核心类是LyricsReader,而且如果实现逐字逐句歌词编辑功能还需要自己实现很多细节 ,网友原话是 :歌词的功能真的是不少,写起来也是挺难的…...
 
自主巡航,目标射击
中国机器人及人工智能大赛 参赛经验: 自主巡航赛道 【机器人和人工智能——自主巡航赛项】动手实践篇-CSDN博客 主要逻辑代码 #!/usr/bin/env python #coding: utf-8import rospy from geometry_msgs.msg import Point import threading import actionlib impor…...
MySQL中EXPLAIN关键字详解
昨天领导突然问到,MySQL中explain获取到的type字段中index和ref的区别是什么。 这两种状态都是在使用索引后产生的,但具体区别却了解不多,只知道ref相比于index效率更高。 因此,本文较为详细地记录了MySQL性能中返回字段的含义、状…...
如何理解ref toRef和toRefs
是什么 ref 生成值类型的响应式数据可用于模板和reactive通过.value修改值 ref也可以像vue2中的ref那样使用 toRef 针对一个响应式对象(reactive)的prop创建一个ref两者保持引用关系 toRefs 将响应式对象(reactive封装)转换…...
【linux】kernel-trace
文章目录 linux kernel trace配置trace内核配置trace接口使用通用配置Events配置Function配置Function graph配置Stack trace设置 跟踪器tracer功能描述 使用示例1.irqsoff2.preemptoff3.preemptirqsoff linux kernel trace 配置 源码路径: kernel/trace trace内…...
【Golang 面试基础题】每日 5 题(一)
✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/UWz06 📚专栏简介:在这个专栏中,我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏…...
ETCD介绍以及Go语言中使用ETCD详解
ETCD介绍以及Go语言中使用ETCD详解 什么是etcd ETCD是一个分布式、可靠的key-value存储的分布式系统,用于存储分布式系统中的关键数据;当然,它不仅仅用于存储,还提供配置共享及服务发现;基于Go语言实现 。 etcd的特点 完全复制:集群中的每个节点都可以使用完整的存档高…...
 
03-用户画像+Elasticsearch
优点 es支持海量数据的写入和更新es可以和hadoop,hive及spark进行集成es支持hivesql的操作,可以通过hivesql将数据导入eses的在进行数据检索查询是速度比较快es是分布式存储 应用 全文检索 全文检索流程: 1-对文档数据(文本数据)进行分词 2-将分词…...
 
初学Mybatis之搭建项目环境
在连接 mysql 数据库时,遇到了个 bug,之前都能连上,但报错说换了个 OS 操作系统什么的 然后搜索怎么连接,找到了解决方法 MySQL MYSQL – 无法连接到本地MYSQL服务器 (10061)|极客教程 (geek-docs.com) 命令行输入 services.msc…...
 
JMeter使用小功能-(持续更新)
1、jmeter在同一个线程组内,uuid的复用 方式一: 方式二: 2、获得jMeter使用的线程总数 ctx.getThreadGroup().getNumberOfThreads()来表示活动线程总数 int threadNumctx.getThreadGroup().getNumThreads(); String threads Integer…...
 
第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果 
【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
 
解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...
 
STM32---外部32.768K晶振(LSE)无法起振问题
晶振是否起振主要就检查两个1、晶振与MCU是否兼容;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容(CL)与匹配电容(CL1、CL2)的关系 2. 如何选择 CL1 和 CL…...
 
Vue ③-生命周期 || 脚手架
生命周期 思考:什么时候可以发送初始化渲染请求?(越早越好) 什么时候可以开始操作dom?(至少dom得渲染出来) Vue生命周期: 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...
boost::filesystem::path文件路径使用详解和示例
boost::filesystem::path 是 Boost 库中用于跨平台操作文件路径的类,封装了路径的拼接、分割、提取、判断等常用功能。下面是对它的使用详解,包括常用接口与完整示例。 1. 引入头文件与命名空间 #include <boost/filesystem.hpp> namespace fs b…...
