mysql主从及备份

news/2024/10/25 10:29:21/

1.由于centOS7中默认安装了MariaDB,需要先进行卸载

rpm -qa | grep -i mariadb
rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64

查询下本机mysql是否卸载干净,若有残留也需要卸载

rpm -qa | grep mysql

2.下载MySQL仓库并安装

wget https://repo.mysql.com//mysql80-community-release-el7-7.noarch.rpm
yum -y install mysql80-community-release-el7-7.noarch.rpm

若 GPG Keys are configured as: …异常则更新GPG钥

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023

3.安装MySQL数据库

yum -y install mysql-community-server

4.修改my.conf 且开启mysql服务

主数据库

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove the leading "# " to disable binary logging
# Binary logging captures changes between backups and is enabled by
# default. It's default setting is log_bin=binlog
# disable_log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
#
# Remove leading # to revert to previous value for default_authentication_plugin,
# this will increase compatibility with older clients. For background, see:
# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin
# default-authentication-plugin=mysql_native_passworddatadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.socklog-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pidbind-address=0.0.0.0
#character config
character_set_server=utf8mb4
log_bin_trust_function_creators=1
symbolic-links=0
sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
explicit_defaults_for_timestamp=true
lower_case_table_names=1
default-time-zone='+8:00'server-id=1
log-bin=mysql-bin
#log过期时间
expire_logs_days = 7
max_binlog_size=2G# 启用全局事务标识符(GTID),用于标识复制拓扑结构中多个服务器上的事务
gtid_mode=ON
# 使用基于GTID的复制时强制执行严格一致性检查,防止数据不一致性
enforce_gtid_consistency=ON
# 必须参数
# 设置多级复制拓扑结构(包括双master环境),其中一个从属方作为向下游的其他从属方的主节点,则这很有用
# 控制slave数据库 是否把 从master 接受到的log 合并在 本slave 执行的内容记录到slave的二进制日志中
log_slave_updates=1

从数据库

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove the leading "# " to disable binary logging
# Binary logging captures changes between backups and is enabled by
# default. It's default setting is log_bin=binlog
# disable_log_bin
#>
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
#
# Remove leading # to revert to previous value for default_authentication_plugin,
# this will increase compatibility with older clients. For background, see:
# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin
# default-authentication-plugin=mysql_native_passworddatadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.socklog-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pidbind-address=0.0.0.0
port=3306
#character configbind-address=0.0.0.0
#character config
character_set_server=utf8mb4
log_bin_trust_function_creators=1
symbolic-links=0
sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
explicit_defaults_for_timestamp=true
lower_case_table_names=1
default-time-zone='+8:00'server-id=2
log-bin=mysql-bin
#log过期时间
expire_logs_days = 7
max_binlog_size=2G# 启用全局事务标识符(GTID),用于标识复制拓扑结构中多个服务器上的事务
gtid_mode=ON
# 使用基于GTID的复制时强制执行严格一致性检查,防止数据不一致性
enforce_gtid_consistency=ON
# 必须参数
# 设置多级复制拓扑结构(包括双master环境),其中一个从属方作为向下游的其他从属方的主节点,则这很有用
# 控制slave数据库 是否把 从master 接受到的log 合并在 本slave 执行的内容记录到slave的二进制日志中
log_slave_updates=1

启动

systemctl start mysqld.service

5.查看mysql默认密码并登陆

cat /var/log/mysqld.log | grep password

更改密码

alter user 'root'@'localhost' identified by 'yourpassword';
flush privileges;
  1. 创建主库用于同步的账号
-- 配置从库连接到主库,准备执行复制数据
CHANGE MASTER TO
MASTER_HOST = 'master.example.com',
MASTER_USER = 'repl',
MASTER_PASSWORD = 'password',
MASTER_AUTO_POSITION = 1;

7.启动主从复制

-- 启动从库复制进程:
START SLAVE;-- 检查从库的状态
SHOW SLAVE STATUS\G;
  1. 物理备份
    xtrabackup80
#RHEL/Centos 6以上使用
#(1)yum下载软件包
yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm#(2)测试软件包是否安装好
yum list | grep percona#(3)安装xtrabackup 80系列
percona-release setup ps80 && yum -y --skip-broken install percona-xtrabackup-80.x86_64#(4)【核验】
xtrabackup --version

http://www.ppmy.cn/news/1389232.html

相关文章

UE4_官方动画内容示例1.1_使用动画资产

对一个SkeletalMeshActor进行设置,设置好之后,可以通过该Actor的细节(Details)面板播放指定的动画序列(AnimationSequence)资产(例如让Actor翻跟斗并做开合跳)。 骨架网格体定义&am…

哔哩哔哩秋招Java二面

前言 作者:晓宜 个人简介:互联网大厂Java准入职,阿里云专家博主,csdn后端优质创作者,算法爱好者 一面过后面试官叫我别走,然后就直接二面,二面比较简短,记录一下,希望可以…

QT配置libtorch(一步到位!!!防止踩坑)

QT配置libtorch Qt下载QT配置MSVCQT配置Libtorch Qt下载 Qt点击下载 Qt的安装选择MSVC2017 64-bit(一定要安装,这关乎后面的配置!!!),其他的根据自己的选择进行安装 QT配置MSVC Visual Studio点击安装 这里需要安装VS以…

【Python 48小时速成 3】输入与输出

在 Python 中,输入和输出通常通过内置函数来实现。主要的输入函数是 input(),用于从用户获取输入,而输出函数则是 print(),用于将结果打印到控制台。以下是简单的代码示例演示了输入和输出: # 输入示例 name input(&…

3 种方法限制 K8s Pod 磁盘容量使用

容器在运行期间会产生临时文件、日志。如果没有任何配额机制,则某些容器可能很快将磁盘写满,影响宿主机内核和所有应用。 容器的临时存储,例如 emptyDir,位于目录/var/lib/kubelet/pods 下: /var/lib/kubelet/pods/ …

三维指静脉生物识别成像设备设计和多视图验证研究

文章目录 三维指静脉生物识别成像设备设计和多视图验证研究总结摘要介绍多视角指静脉识别模型结构内容特征编码Transformer(CFET)主导特征选择模块(DFSM) 实验和结果数据集实施细节视角研究池化层的作用消融实验和SOTA方法比较 论文: Study of 3D Finger Vein Biometrics on I…

阿里云ECS服务器安装java环境相关软件

当前服务器版本为:Alibaba Cloud Linux 3.2104 LTS 64位 # lsb_release -a LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: AlibabaCloud Description: Alibaba Cloud Linux release 3 (Soaring Falcon) Release: 3 Codename: SoaringFalcon# cat…

在CentOS 7服务器上添加和删除用户的方法

简介 当你第一次开始使用全新的 Linux 服务器时,添加和删除用户通常是你需要做的第一件事情之一。在本指南中,您将学习如何在 CentOS 7 服务器上创建用户帐户、分配 sudo 权限和删除用户。 先决条件 要完成本教程,您需要: 一个…