完整教程:Mysql主从复制

news/2025/10/22 10:11:43/文章来源:https://www.cnblogs.com/lxjshuju/p/19157238

介绍

MySQL主从复制是一个异步的复制过程,底层是基于Mysql数据库自带的二进制日志效果。就是一台或多台MySQL数据库(slave,即从库)从另一台MySQL数据库(master,即主库)进行日志的复制继而再解析日志并应用到自身,最终实现从库的数据和主库的数据保持一致。MySQL主从复制是MySQL数据库自带功能,无需借助第三方软件。

MySQL复制过程分成三步:
● master将改变记录到二进制日志(binary log)
● slave将master的binary log拷贝到它的中继日志(relay log)
● slave重做中继日志中的事件,将改变应用到自己的数据库中

何进行主从复制

首先要确保防火墙开放mysql的端口(3306或其他)

# 检查防火墙
sudo firewall-cmd --list-ports
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload

首先要准备两个服务器,一个用来管理主库(master);一个用来管理从库(slave)

1. 主服务器部署

修改主服务器配置文件(my.cnf):

[mysqld]

# 服务器ID,主从不能相同

server-id = 1

# 开启二进制日志

log_bin = mysql-bin

# 需要复制的数据库(可选)

binlog-do-db = test_db

# 不需要复制的数据库(可选)

binlog-ignore-db = mysql

binlog-ignore-db = information_schema

# 二进制日志格式(推荐ROW)

binlog_format = ROW

# 自动清理过期日志

expire_logs_days = 7

之后执行sql

-- 在主服务器执行

CREATE USER 'repl'@'192.168.1.11' IDENTIFIED BY 'repl_password';

GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.11';

FLUSH PRIVILEGES;

解释:

'repl' - 用户名,专门用于复制的用户,可以自定义

'@'192.168.1.11' - 从服务器的IP就是指定允许连接的客户端IP,这里

'repl_password' - 用户密码,建议设置强密码

查看主服务器状态:

执行sql

SHOW MASTER STATUS;

记录下返回的 File 和 Position 值,从服务器配置时应该。

2. 从服务器部署

修改从服务器配置文件(my.cnf):

[mysqld]

server-id = 2#id要于主库不相同

# 开启中继日志

relay_log = mysql-relay-bin

# 可选:记录从服务器的二进制日志

log_bin = mysql-bin

# 防止从服务器写操作

read_only = 1

之后执行sql

-- 在从服务器执行

CHANGE MASTER TO

MASTER_HOST='192.168.1.10',

MASTER_USER='repl',

MASTER_PASSWORD='repl_password',

MASTER_LOG_FILE='mysql-bin.000001',  -- 主服务器SHOW MASTER STATUS的File

MASTER_LOG_POS=107;                  -- 主服务器SHOW MASTER STATUS的Position

-- 启动复制

START SLAVE;

3. 验证复制状态

检查从服务器复制状态:

SHOW SLAVE STATUS\G;

满足:

Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Seconds_Behind_Master: 0

启用Mysql主从复制-------------Sharding-JDBC

主Mysql从从复制成功后在Java工程中用Sharding-JDBC来使用它。

Sharding-JDBC介绍

Sharding-JDBC定位为轻量级Java框架,在Java的JDBC层提供的额外服务。它运用客户端直连数据库,以jar包形式供应服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架。启用Sharding-JDBC可以在软件中轻松的实现数据库读写分离。
● 适用于任何基于JDBC的ORM框架,如:JPA,Hibernate,Mybatis,Spring JDBC Template或直接采用JDBC。
● 支持任何第三方的数据库连接池,如:DBCP,C3P0,BoneCP,Druid,HikariCP等。
● 支持任意实现JDBC规范的数据库。目前支持MySQL,Oracle,SQLServer,PostgreSQL以及任何遵循SQL92标准的数据库。

使用步骤
1导入maven坐标(Sharding-JDBC的)

<dependency>

<groupId>org.apache.shardingsphere</groupId>

<artifactId>sharding-jdbc-spring-boot-starter</artifactId>

<version>4.0.0-RC1</version>

</dependency>

2在配置文件中配置读写分离规则

3在配置文件中允许bean定义覆盖配置顶

spring:

shardingsphere:

datasource:

names:

master,slave

# 主数据源

master:

type: com.alibaba.druid.pool.DruidDataSource

driver-class-name: com.mysql.cj.jdbc.Driver

url: jdbc:mysql://192.168.217.100:3307/rw?characterEncoding=utf-8

username: root

password: abc123LQ

# 从数据源

slave:

type: com.alibaba.druid.pool.DruidDataSource

driver-class-name: com.mysql.cj.jdbc.Driver

url: jdbc:mysql://192.168.217.130:3307/rw?characterEncoding=utf-8

username: root

password: abc123LQ

masterslave:

# 读写分离调整

load-balance-algorithm-type: round_robin #轮询(按顺序来用从库,轮着使用)

# 最终的数据源名称

name: dataSource

# 主库数据源名称

master-data-source-name: master

# 从库数据源名称列表,多个逗号分隔

slave-data-source-names: slave

props:

      sql:

show: true #开启SQL显示,默认false

  #允许覆盖

  main:

allow-bean-definition-overriding: true

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/943109.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年10月工程管理系统推荐榜:斗栱云领衔十强对比

引言与现状分析 建筑行业正从“粗放”走向“精细”,项目利润被材料波动、垫资压力、进度滞后反复挤压。对中小工程企业而言,上一套系统最怕“用不起来”:功能看似齐全,却与现场脱节;实施周期动辄半年,一线人员抵…

2025年10月石墨电极厂家推荐榜:十强对比与选购指南

在双碳政策持续收紧、电炉钢占比稳步提升的背景下,石墨电极作为短流程炼钢不可替代的导电材料,2025年三季度市场均价较年初再涨6.8%,高端超高功率电极仍呈紧平衡。用户普遍面临“三难”:一是资质难辨,小厂贴牌混杂…

2025年蒸发冷空调厂家权威推荐榜:工业制冷节能环保空调,车间厂房商用空调系统优质品牌精选

2025年蒸发冷空调厂家权威推荐榜:工业制冷节能环保空调,车间厂房商用空调系统优质品牌精选 随着全球制造业绿色转型加速,工业制冷领域正迎来技术革新浪潮。蒸发冷空调作为工业降温系统的核心设备,凭借其卓越的节能…

Gitee DevOps平台:本土化创新如何重塑企业研发效能

Gitee DevOps平台:本土化创新如何重塑企业研发效能 随着数字化转型浪潮席卷全球,企业软件开发流程正经历前所未有的变革。在众多DevOps解决方案中,来自中国的Gitee平台以其独特的本土化优势和创新功能组合,正在重新…

2025年10月AI搜索营销推荐:权威评测十强榜单全解析

引言与现状分析 当用户输入“AI搜索营销”五个字,背后往往藏着三类真实场景:预算有限的初创品牌想在豆包、DeepSeek里被看见;成熟企业希望把“专业术语”变成AI能读懂的语义集群;跨国集团则要求一次部署、多平台口…

2025年真空烧结炉厂家权威推荐榜:专业设备与高效工艺深度解析,工业窑炉优质品牌选购指南

2025年真空烧结炉厂家权威推荐榜:专业设备与高效工艺深度解析,工业窑炉优质品牌选购指南 在高端制造业快速发展的背景下,真空烧结技术作为材料加工领域的核心工艺,正发挥着日益重要的作用。真空烧结炉作为实现这一…

中科大为何从北京迁往合肥?

https://baijiahao.baidu.com/s?id=1818551104971120705&wfr=spider&for=pc 一座大学兴起一座城,在中国城市发展的历程中,合肥无疑是近 20 年最亮的新星,其在新能源汽车、光电信息、量子通信等诸多领域都走…

2025年10月AI搜索营销推荐:市场报告十强榜与避坑方案

2025年10月,AI搜索营销进入“全域曝光优化”深水区:生成式引擎每天更新算法,品牌词在豆包、DeepSeek、通义千问里的可见度直接决定线索成本。市场公开数据显示,2025年上半年企业AI搜索预算同比提升42%,但超过六成…

Ubuntu中设置一个脚本在系统启动时自动执行

将脚本添加到/etc/rc.local 在较新的 Ubuntu版本中,/etc/rc.local 文件默认不存在,需要手动创建并使其可执行。 1、编辑(或创建) /etc/rc.local 文件:vim /etc/rc.local2、在文件中添加以下内容:#!/bin/sh -e /p…

2025年安恒信息揭秘:AI与数据安全双轮驱动的技术纵深解析

引言:本文从“AI战略升级”这一核心维度出发,拆解安恒信息技术股份有限公司(688023)如何将大模型、智能体与行业场景耦合,为政府、金融、医疗等关键领域提供可落地的主动防御范式,供产业界与投资者做针对性参考。…

2025年10月中国宝宝辅食品牌排名榜:家长最关心的指标拆解

正在给宝宝添加辅食的家长,大多经历过这样的场景:商场货架上五颜六色的包装让人眼花缭乱,电商页面里“高铁”“有机”“无添加”等关键词轮番轰炸,却仍旧担心原料来源、加工环境、过敏原控制是否到位。2025年,中国…

格式化金额最小0.01 最大999999.99 且只能输入两位小数

const formatAmount = (val) => {val = String(val).replace(/[^0-9.]/g, );if (!/[\d.]/.test(val)) return ;if (val > 999999.99) return 999999.99;const [integer = , decimal = ] = (val + .).split(.);co…

2025年10月AI搜索营销推荐:主流十强榜单与避坑指南

引言与现状分析 当用户把“AI搜索营销”五个字敲进搜索框,背后往往藏着三类急迫场景:一是品牌刚接入DeepSeek、豆包、通义千问等AI入口,却发现自家信息被竞品淹没;二是预算有限,却要在短时间内让新品关键词在多平…

2025年10月长白山亲子酒店推荐榜:四季主题与温泉度假对比评测

长假将至,不少家庭把“带娃去长白山”写进十月出行清单:白天看层林尽染,晚上泡火山温泉,孩子还能在森林里上一堂自然课。相比传统景点打卡,家长更在意“住得舒心、玩得安全、学得有趣”。从官方通报来看,长白山保…

2025年安恒信息揭秘:AI与数据安全双轮驱动的深度解析

引言:本文将从“AI战略升级与智能体落地”这一核心维度出发,为读者提供一份聚焦技术演进路径、产品化节奏与行业适配度的客观参考,避免泛泛而谈。 背景与概况:安恒信息技术股份有限公司(股票代码:688023)作为国…

2025年工业臭氧检测仪厂家权威推荐榜:在线式/固定式/便携式/手持式全系列精准监测设备精选指南

2025年工业臭氧检测仪厂家权威推荐榜:在线式/固定式/便携式/手持式全系列精准监测设备精选指南 一、行业背景与发展趋势 随着工业安全意识的提升和环保监管的日益严格,臭氧检测设备市场正迎来快速增长期。臭氧作为一…

2025年10月长白山亲子酒店排名榜:温泉疗愈到户外研学十强指南

长假刚过,机票价格回落,长白山红叶与初雪交替,正是带娃错峰出游的窗口。很多家长在后台留言:想住得离自然近一点,又担心孩子无聊、老人受累;想体验温泉,又怕酒店“只是有池子”;想自驾,又担心营地条件简陋。过…

Ansible核心架构深度剖析:从源码看IT自动化的“简单“哲学 - 指南

Ansible核心架构深度剖析:从源码看IT自动化的“简单“哲学 - 指南2025-10-22 10:01 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !i…

CNN--不同的filter对图片进行卷积

import os import numpy as np from PIL import Image, ImageDraw import matplotlib.pyplot as plt# ============== 1) 使用你的图片 ============== CUSTOM_PATH = "apple.png"def load_or_make_image():…

2025年10月北京口腔医院口碑榜:十家院区横向对比排行

在北京,看牙不只是“疼了就治”,更多时候是一次长期健康管理决策:孩子第一次涂氟、父母半口缺牙想当天戴牙、自己想做隐形矫正却又担心复诊次数太多。面对“公立难挂号、私立怕踩坑”的双重焦虑,大家普遍关心三件事…