当前位置: 首页 > 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…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...

微信小程序 - 手机震动

一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注&#xff1a;文档 https://developers.weixin.qq…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

【Oracle】分区表

个人主页&#xff1a;Guiat 归属专栏&#xff1a;Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...