Ubuntu 下 mysql 8.0 基于二进制日志主从配置

本文详细介绍了如何在Ubuntu20.04上配置MySQL8.0的主从复制,包括设置复制源和副本的配置,创建复制用户,获取二进制日志坐标,数据快照的创建与导入,以及在从服务器上启动复制。同时,文章还提及了如何在从服务器上进行备份和设置只读模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网上关于mysql 主从复制的文章很多,因为系统不同或 mysql 版本不同,看着总是发怵,必须找到官方文档,并且照着操作才放心!

官方文档
MySQL 8.0 参考手册 : 第十七章复制

英文版 Chapter 17 Replication

文档其实写的很详细,但是,总有一种跳来跳去的感觉,来回看了几遍,才捋出来思路,其实就是很简单的几个步骤

先学习这个
17.1.2 设置基于二进制日志文件位置的复制

我的环境

主服务器

Ubuntu 20.04 :
192.1568.0.101
$ mysql -V
mysql  Ver 8.0.32 for Linux on x86_64 (MySQL Community Server - GPL)

从服务器

Ubuntu 20.04 : 
192.168.0.103
$ mysql -V
mysql  Ver 8.0.32 for Linux on x86_64 (MySQL Community Server - GPL)

2 个服务器上的mysql 都是直接使用 apt 安装后,都是缺省配置

ubuntu 安装、卸载重装mysql 8.0

以下假设所有密码都是 Password@123

操作步骤

抄录一下官方文档实现步骤

	17.1.2.1 设置复制源配置
	17.1.2.2 设置副本配置
	17.1.2.3 为复制创建用户
	17.1.2.4 获取复制源二进制日志坐标
	17.1.2.5 选择数据快照的方法
	17.1.2.6 设置副本
	17.1.2.7 在副本上设置源配置
	
	最后一步
	17.1.2.8 将副本添加到复制环境
	暂时不用管他,后续再学习!

完全按照以上步骤,一步一步的进行

  1. 17.1.2.1 设置复制源配置

    要将源配置为使用基于二进制日志文件位置的复制,您必须确保启用二进制日志记录,并建立唯一的服务器 ID

    动态修改 server_id ,重启之后会丢失

     SET GLOBAL server_id = 101;
    

    静态修改 server_id
    my.cnf 只是简单的 include ,实际的配置在 /etc/mysql/mysql.conf.d

    $ cd /etc/mysql/mysql.conf.d
    $ cat mysqld.cnf

     ...
     [mysqld]
     pid-file        = /var/run/mysqld/mysqld.pid
     socket          = /var/run/mysqld/mysqld.sock
     datadir         = /var/lib/mysql
     log-error       = /var/log/mysql/error.log
     
     # add by wzh 20230413
     server-id=101
    

    重启 mysql 生效
    $ sudo systemctl res

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哈哈虎123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值