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…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...
WebRTC从入门到实践 - 零基础教程
WebRTC从入门到实践 - 零基础教程 目录 WebRTC简介 基础概念 工作原理 开发环境搭建 基础实践 三个实战案例 常见问题解答 1. WebRTC简介 1.1 什么是WebRTC? WebRTC(Web Real-Time Communication)是一个支持网页浏览器进行实时语音…...

Unity中的transform.up
2025年6月8日,周日下午 在Unity中,transform.up是Transform组件的一个属性,表示游戏对象在世界空间中的“上”方向(Y轴正方向),且会随对象旋转动态变化。以下是关键点解析: 基本定义 transfor…...

数据结构:泰勒展开式:霍纳法则(Horner‘s Rule)
目录 🔍 若用递归计算每一项,会发生什么? Horners Rule(霍纳法则) 第一步:我们从最原始的泰勒公式出发 第二步:从形式上重新观察展开式 🌟 第三步:引出霍纳法则&…...
大模型真的像人一样“思考”和“理解”吗?
Yann LeCun 新研究的核心探讨:大语言模型(LLM)的“理解”和“思考”方式与人类认知的根本差异。 核心问题:大模型真的像人一样“思考”和“理解”吗? 人类的思考方式: 你的大脑是个超级整理师。面对海量信…...
__VUE_PROD_HYDRATION_MISMATCH_DETAILS__ is not explicitly defined.
这个警告表明您在使用Vue的esm-bundler构建版本时,未明确定义编译时特性标志。以下是详细解释和解决方案: 问题原因: 该标志是Vue 3.4引入的编译时特性标志,用于控制生产环境下SSR水合不匹配错误的详细报告1使用esm-bundler…...