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

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

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...

IP如何挑?2025年海外专线IP如何购买?

你花了时间和预算买了IP,结果IP质量不佳,项目效率低下不说,还可能带来莫名的网络问题,是不是太闹心了?尤其是在面对海外专线IP时,到底怎么才能买到适合自己的呢?所以,挑IP绝对是个技…...

uniapp手机号一键登录保姆级教程(包含前端和后端)

目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...

三分算法与DeepSeek辅助证明是单峰函数

前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...

tauri项目,如何在rust端读取电脑环境变量

如果想在前端通过调用来获取环境变量的值&#xff0c;可以通过标准的依赖&#xff1a; std::env::var(name).ok() 想在前端通过调用来获取&#xff0c;可以写一个command函数&#xff1a; #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...

Sklearn 机器学习 缺失值处理 获取填充失值的统计值

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...

QT开发技术【ffmpeg + QAudioOutput】音乐播放器

一、 介绍 使用ffmpeg 4.2.2 在数字化浪潮席卷全球的当下&#xff0c;音视频内容犹如璀璨繁星&#xff0c;点亮了人们的生活与工作。从短视频平台上令人捧腹的搞笑视频&#xff0c;到在线课堂中知识渊博的专家授课&#xff0c;再到影视平台上扣人心弦的高清大片&#xff0c;音…...

day51 python CBAM注意力

目录 一、CBAM 模块简介 二、CBAM 模块的实现 &#xff08;一&#xff09;通道注意力模块 &#xff08;二&#xff09;空间注意力模块 &#xff08;三&#xff09;CBAM 模块的组合 三、CBAM 模块的特性 四、CBAM 模块在 CNN 中的应用 一、CBAM 模块简介 在之前的探索中…...