Mysql一主多从部署

K8s-K8s部署MySQL一主多从-非真正高可用 一主多从,主节点宕机后,会自动调度至其他节点部署、启动Master,数据不会丢失,从节点会重新连接同步主节点并继续同步数据。 阅读详情

1.下载地址

https://dev.mysql.com/downloads/mysql/

2.下载tar.gz包

选择redhat版本
在这里插入图片描述
在这里插入图片描述

3.安装

1.linux系统上创建mysql1用户

useradd mysql1

2.将tar.gz包上传到服务器上并且解压

tar -zxvf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz

3.将mysql-5.7.31-el7-x86_64目录下的文件mv到 /home/mysql1下

4.mkdir -p /home/mysql1/data 文件存储mysql1数据目录

mkdir -p /home/mysql1/data

5.将/etc/my.cfg文件复制到mysql家目录下

cp /etc/my.cnf /home/mysql1/

6.对/home/mysql1下赋权

chmod -R 755 /home/mysq1l
chown mysql:mysql -R /home/mysql1/data
chmod 777 /home/mysql1/data

7.修改mysql配置文件

vi /home/mysql1/my.cnf

[mysqld]
user                            = 
port                            = 3307
basedir                         = /home/mysql1
datadir                         = /home/mysql1/data
socket                          = /home/mysql1/mysql.sock
pid_file                        = /home/mysql1/mysql.pid
log_error                       = /home/mysql1/data/error.log
#binlog日志文件
log_bin                         = /home/mysql1/data/mysql-bin
relay_log                       = /home/mysql1/data/relay-bin
slow_query_log_file             = /home/mysql1/data/slow.log
#binlog过期清理时间
expire_logs_days                = 15
log-slave-updates               = 1
log_bin_trust_function_creators = 1
lower_case_table_names          = 1
max_connections                 = 3000
max_connect_errors              = 1000000 
# 每个实例的id都设置成不一样的,比如a主机,3307 b主机设置成23307,c主机设置成33307,后面1主2从会用到
server-id                       = 3307                              
autocommit                      = 1
# pool_size根据实际情况进行更新
innodb_buffer_pool_size         = 40G
innodb_buffer_pool_instances    = 8
innodb_write_io_threads         = 16
innodb_read_io_threads          = 16
#mysql复制主要有三种方式:基于SQL语句的复制(statement-based replication, SBR),基于行的复制(row-based replication, RBR),混合模式复制(mixed-based replication, MBR)。对应的,binlog的格式也有三种:STATEMENT,ROW,MIXED
binlog_format                   = ROW
gtid_mode                       = on
enforce_gtid_consistency        = 1
innodb_flush_log_at_trx_commit  = 1  
#add 2                          
innodb_thread_concurrency       = 20
innodb_print_all_deadlocks      = 1
innodb_flush_method             = O_DIRECT
innodb_io_capacity              = 8000
innodb_io_capacity_max          = 15000
enforce_gtid_consistency        = 1
binlog_rows_query_log_events    = 1
character_set_server            = utf8mb4
default-storage-engine          = INNODB
transaction_isolation           = READ-COMMITTED
max_allowed_packet              = 67108864
event_scheduler                 = 1
slow_query_log                  = on
explicit_defaults_for_timestamp = 1   
master_info_repository          = TABLE
relay_log_info_repository       = TABLE
relay_log_recovery              = 1
relay_log_purge                 = 0  
slave_rows_search_algorithms    = 'INDEX_SCAN,HASH_SCAN'
slave_parallel_type             = LOGICAL_CLOCK
slave_parallel_workers          = 16
slave_preserve_commit_order     = 1
slave_transaction_retries       = 64
sync_relay_log                  = 0
sync_relay_log_info             = 0
sync_master_info                = 0
sync_binlog                     = 1
collation_server                = utf8mb4_bin
skip_name_resolve               = 1 
plugin-load                     = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so"
rpl-semi-sync-master-enabled    = 1
rpl-semi-sync-slave-enabled     = 1

8.数据文件初始化

1.初始化

./mysqld --defaults-file=/home/mysql1/my.cnf --initialize --basedir=/home/mysql1 --datadir=/home/mysql1/data --user=mysql1

2.启动

./mysqld_safe --defaults-file=/home/mysql1/my.cnf --user=mysql1 &
查看mysql进程已经起来,并且监听3307接口
在这里插入图片描述

3.本机登陆,root的初始密码可以在errorlog中找到

cat error.log | grep "temporary password"
在这里插入图片描述

4.本机登录指定sock文件以及指定端口及输入临时密码

./mysql -uroot -P3307 -S /home/mysql1/mysql.sock -p

5. 登录后修改root密码

set password=password('XXXXXXXX'); 修改密码
flush privileges;

6. 赋予权限

grant all privileges on *.* to 'root'@'%' identified by 'XXXXXXX' with grant option;
flush privileges;

7. 停止服务

./mysqladmin shutdown -uroot -p******** -S /home/mysql1/mysql.sock

4.使用mysql客户端datagrip连接mysql成功

在这里插入图片描述

5.通过如上相同操作安装从库,只修改配置文件相关信息,并且初始化,并且客户端连接

在这里插入图片描述

6.在master数据库上执行

1.创建repl用户并且赋予同步权限

CREATE USER 'repl' IDENTIFIED BY 'slavepass';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' identified by 'slavepass';
flush privileges;

在这里插入图片描述

2.查看master状态

SHOW MASTER STATUS\G;
在这里插入图片描述

7.在slave上面执行

1.配置slave从节点的master节点以及binlog偏移位置等

CHANGE MASTER TO MASTER_HOST='master地址',
MASTER_USER='repl',
MASTER_PASSWORD='slavepass',
MASTER_LOG_FILE='mysql-bin.000003', #为master的log_file
MASTER_LOG_POS=1597,       #master的POS
MASTER_PORT=3307;

在这里插入图片描述

2.启动slave同步进程以及查看slave状态

start slave;  #启动slave同步进程
show slave status\G;

在这里插入图片描述

8.测试

在mysql1中创建testdb,使用datagrip在mysql2中即可查看从mysql1中同步的新增的库以及数据,不过datagrip需要刷新下客户端。

,

9.总结主从部署

注意主从mysql的my.cnf配置文件的server-id必须配置不一样

如何快速学习 PHP 编程:从入门到实战的高效路径 PHP高效学习路线摘要:4-8周掌握Web开发核心技能。阶段1(1周)搭建XAMPP/MAMP环境,掌握基础语法和变量处理;阶段2(2周)重点学习表单处理、会话管理和PDO数据库操作(防SQL注入);阶段3(2-3周)实战开发个人博客等小项目。关键原则:边学边练(每个知识点配3-5个案例)、优先掌握Web刚需技能(HTTP请求、数据库、动态页面)、善用官方手册。避坑点:密码必须加密、SQL使用预处理、统一UTF-8编码。建议每天2-3小时实操,通过项目驱动学习,快速形成开发能力。 阅读详情

相关推荐

【本体】Protege高效批量导入实例(Individuals)的自动化实践

本文详细介绍了在Protege中高效批量导入实例(Individuals)的自动化实践方法。通过分析Protege本体文件结构,提供Python脚本示例,帮助用户快速处理大规模数据导入,显著提升知识图谱构建效率。特别适合需要处理数千个实例的医疗、制药等领域应用。

weixin_30275415的博客 408

MySQL一主多从配置

主从服务器配置完毕之后,在主服务器对应数据库上任意选择一条记录,进行修改,确认修改会自动同步到从服务器则说明配置完全成功。主服务器配置完毕,此刻开始不要再操作主服务器数据库,防止其状态值发生变化。执行同步命令,设置主服务器ip,同步账号密码,同步位置,两台机器分别执行。2、重启主服务器上的MySQL后,添加允许从服务器同步数据的账户。添加slave账号root,假设密码是123456。2、 重启从服务器上MySQL后执行主从同步命令。3、 查看主服务器状态。3、查看从服务器状态。

AAAAAxiaobai的博客 1178

Pattern Recognition 投稿过程记录,含Elsevier Latex模板使用

Pattern Recognition 投稿过程记录,含Elsevier Latex模板使用 最近在Pattern Recognition投出了一个文章,纯纯属于是第一次投稿,感觉自己写了一坨屎,事实是这确实也是一坨屎,现在是投了之后在等待一个拒稿的状态。 但是还是记录一下一些流程 1. 下载模板 在出版商Elsevier的栏目里有对于稿件的结构要求,也提供了Latex模板。同时,也给作者提供了Guides, 可以仔细阅读。下面这个连接咱们可以下载到Guides以及看到一些文章的要求。 https://ww

weixin_44153180的博客 3万+

MySQL配置一主多从

MySQL主从配置、一主多从

weixin_46062349的博客 217

(精读)揭示多元时间序列的高阶组织

时间序列分析已经被证明是刻画生物学、神经科学和经济学中的一些现象以及理解它们的一些潜在动力学特征的有力方法。尽管针对多元时间序列的分析已经提出了很多方法,但大多数方法都忽略了非成对相互作用对涌现动力学的影响。在这里,我们提出了一个新的框架来刻画多元时间序列中高阶依赖关系的时间演化。利用网络分析和拓扑学,我们表明,与传统的基于成对统计的工具不同,我们的框架鲁棒地区分了耦合混沌映射的各种时空状态,包括混沌动力学阶段和各种类型的同步。

weixin_53406075的博客 2412

十.镜头知识之畸变问题

对于理想光学系统,在一对共轭的物像平面上,像的放大率是一个常数。但是对于实际的光学系统,当视场较大或很大时,像的放大率就要随视场而异,这样就会使像相对于物体失去相似性。这种使像变形的成像缺陷称为畸变。

AIoT深度探索者 | 嵌入式系统架构师 深耕物联网(IoT)与人工智能(AI)融合技术,聚焦​​边缘计算、图像开发、低功耗通信协议​​,致力于智能硬件,关注我获取最新技术文章信息与海量资源~ 2125

mysql一主一从,一主多从环境搭建及主从切换

mysql主从切换

weixin_46471797的博客 1289

ISP 芯片作为独立设备节点的驱动实现要点:多平台结构差异与工程部署策略解析

随着 ISP(Image Signal Processor)从 SoC 集成形态向独立芯片模块演进,在多摄系统、高动态场景、AI 图像前处理等需求下,ISP 作为单独设备节点进行驱动设计已成为主流趋势。尤其在多 SoC 平台(如高通、联发科、展锐、Rockchip)中,不同厂商对 ISP 的抽象方式与驱动接口处理存在显著差异。本文以实际工程为基础,从 Linux 内核下的设备注册流程、media\_entity 配置、VideoDevice 分配、数据 DMA 管理、与 sensor 的流同步控制等关键点展

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 1462

MySQL集群 - 一主多从、双主双从

在实际生产中,数据的重要性不言而喻。如果我们的数据库只有一台服务器,那么很容易产生单点故障的问题,比如这台服务器访问压力过大而没有响应或者崩溃,那么服务就不可用了。再比如这台服务器的硬盘坏了,那么整个数据库的数据就全部丢失了,这是重大的安全事故。为了避免服务的不可用以及保障数据的安全可靠性,我们至少需要部署两台或两台以上服务器来存储数据库数据,也就是我们需要将数据复制多份部署在多台不同的服务器上,即使有一台服务器出现故障了,其他服务器依然可以继续提供服务。

Life And Code 2208

使用再生龙备份还原liunx系统(精确每一步)

再生龙镜像可自行到官网下载(ISO/ZIP格式均可),然后使用tuxboot烧录工具制作启动盘,另外准备一个U盘用来存储备份的镜像文件,即再生龙盘和存储盘是两个分开的。当然也可以用分区工具把同一个硬盘分区来使用,比较方便,先学会基本的吧,只是告诉有个捷径,省个U盘。

米可的博客! 8374

Python全栈入门到实战【AI实战篇 01】DeepSeek官方API全流程实战,第一个AI项目前置必备

文章摘要 本文介绍了基于DeepSeek API开发智能助手的前期准备和基础调用流程。内容涵盖: 前期准备:访问DeepSeek官网、完成账号注册与实名认证。 API Key获取:充值并创建API Key,强调密钥安全保存的重要性。 查阅文档:定位官方接口文档中的Python调用示例。 环境配置:安装openai依赖包,配置环境变量存储API Key。 代码编写:使用Python调用DeepSeek API实现基础对话功能。 调试与验证:解决常见问题,确保API调用成功。 适合零基础开发者跟随操作,快速入门

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 3737

Mysql-主从架构篇(一主多从,半同步案例搭建)

从 MySQL 5.6.5 开始新增了一种基于 GTID 的复制方式。GTID即全局事务ID (Global TransactionIdentifier),其保证每个主节点上提交的事务,在从节点可以一致性的复制。这种方式强化了数据库的主备一致性,故障恢复以及容错能力。

qq_43259860的博客 3562

基于AI的智能开发环境—Trae在Web开发中的应用实战与性能评估【Trae项目实战】

Trae 是一款与 AI 深度集成的开发工具,提供智能问答、代码自动补全和基于 Agent 的 AI 自动编程能力,极大提升开发效率。它具备完备的 IDE 功能,如代码编写、项目管理和源代码管理等,同时还具备强大的 AI 助手,能够提供智能问答、实时代码建议、代码片段生成等服务。开发者可以通过自然语言与 AI 协作,从 0 到 1 开发项目,AI 会根据需求自动生成代码或创建文件。

一键难忘的博客 3万+

mysql一主多从 k8s部署实际案例

二、Java读写分离实现(Spring Boot示例)一、Kubernetes配置(MySQL主从集群)

weixin_45762066的博客 1047

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

k8s部署mysql一主多从集群

需求:master写,slave读。NFS映射mysql文件到本地,删除或重启pod或容器不会删除文件。

lucas5的博客 5747

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

kubernetes mysql多主_kubernetes使用StatefulSet部署mysql一主多从

kubernetes使用StatefulSet部署mysql一主多从有状态服务一般数据需要永久保存,先创建动态存储卷(这里存储使用nfs)rabc文件(base) [root@nlp-test-server-no ~]# cat nfs-rbac.yamlapiVersion: v1kind: ServiceAccountmetadata:name: nfs-client-provisionern...

weixin_39786706的博客 165

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Mysql 一主多备安装部署文档

Mysql 一主多备安装部署文档 文章目录Mysql 一主多备安装部署文档1 主节点配置1.1 my.cnf 配置1.2 配置同步账号1.3 授权同步账号1.4 授权远程登录1.5 刷新1.6 查看Master状态2 Slave节点配置2.1 my.cnf 配置2.2 设置Master2.3 查看slave状态3 数据同步测试3.1 测试数据3.2 Master数据3.2 Slave1同步数据3.3 Slave2 同步数据3.4 结论4 错误集锦4.1 Slave_IO_Running: Connect

大师兄你家猴跑啦的博客 427

Docker 部署 MySQL 一主多从

【代码】Docker 部署 MySQL 一主多从。

书启鸿蒙知秋枫 2334

docker部署mysql一主多从--主备复制模式

docker部署mysql一主多从–主备复制模式 根据实际安装的目录配置全局环境变量(root 用户执行) 如果已存在全局环境变量则无需配置 export LOCAL_IP=$(echo $(ip a | grep $(route -n | grep ^0.0.0.0 | awk '{print $8}') | grep "inet " | awk '{print $2}') | sed 's+/.*++') sudo tee -a /etc/profile << EOF export DEPL

csdnlaiyanqi的博客 1662

云原生|kubernetes|部署MySQL一主多从复制集群(基于Binlog+Position的复制)

让主库负责写,从库负责读,这样,即使主库出现了锁表的情景,通过读从库也可以保证业务的正常运作。MySQL单实例的部署。附1:GTID的概念。主从复制报错排查示例。

zsk_john的技术分享专用博客 807

【K8S使用Helm部署MySQL一主多从并集成Prometheus监控】

本文基于 K8s 实验环境,采用 Helm 工具完成 MySQL 集群自动化部署。文中依次完成 Helm 安装、配置文件自定义、集群部署与状态校验等操作,保障集群稳定运行。同时结合 Prometheus 与 Grafana 组件搭建监控体系,完成监控实例接入与可视化面板配置,实现对 MySQL 集群运行状态、各项性能指标的实时观测。整套方案流程清晰、可落地性强,不仅提升了数据库部署与运维效率,也为云原生架构下 MySQL 集群的搭建、日常运维与故障排查提供了完整的实践参考

m0_63756214的博客 238

Ansible Playbook快速部署一主多从MySQL集群

原理很简单,但是其中涉及的关于操作MySQL的模块需要着重研究,还有关于template模板的用法也非常重要,在通过Ansible playbook部署一些更复杂的系统时,经常会用到使用template模板语法渲染不同的配置,实现更为复杂系统的部署。交互式配置,不输入即保持默认配置,如默认端口为3306,我自定义为33306,部署路径我自定义为/opt/software,其他的保持默认直接按回车。MySQL配置文件中的系统参数可以根据实际按需修改,以下配置只供参考,着重看一下文件中有标注的地方。

a...Z 1948

MySQL statefulset_kubernetes使用StatefulSet部署mysql一主多从

有状态服务一般数据需要永久保存,先创建动态存储卷(这里存储使用nfs)rabc文件(base)[root nlp-test-server-no~]#cat nfs-rbac.yamlapiVersion:v1kind:ServiceAccountmetadata:name:nfs-client-provisionernamespace:default---kind:ClusterRoleapiVe...

weixin_36202603的博客 250

CentOS 7 二进制部署 MySQL 5.7 配置一主多从架构

【代码】CentOS 7 二进制部署 MySQL 5.7 配置一主多从架构。

✦ 一个爱折腾服务器、沉迷写 Shell 脚本的 Linux 爱好者。 ✦ 每一篇教程都来自亲手搭建 + 反复验证,只为让你“一次成功”。 ✦ 相信技术的价值在于分享,也相信善意会传递。 ✦ 欢迎留言交流,有问必答(只要我会) 71

Ansible部署Mysql一主多从

1.centos7.9系统,一台主服务器,一台及以上从服务器(例子共4台服务器,一主三从)2.关闭防火墙和selinux3.解析服务器IP4.主服务器安装好mysql,ansible5.设置免密登陆从服务器。

2302_77404165的博客 734
上一篇: Linux之间ssh免密登录,以及ssh-copy-id命令
下一篇: scp通过后台执行(linux传输大文件终端会话超时)
Persistence___
博客等级 码龄8年 47粉丝 59原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值