数据库系列——MySQL主从复制配置

本文详细介绍了如何在MySQL中配置二进制日志以实现主库与从库之间的数据同步,包括开启日志、设置server-id、配置relay-log,以及如何在从库上连接主库并调整binlog规则以优化备份。还提及了在Windows上安装和管理多个MySQL实例的方法。
摘要由CSDN通过智能技术生成

同时修改mysql配置文件开启二进制日志,新增部分如下:

[mysqld]

server-id=1

log-bin=master-bin #这边写的是对应bin的日志名称

log-bin-index=master-bin.index

然后重启数据库,在主库上使用show master status;语句查看主库状态,如下所示:

从库配置

同样先新增几行配置:

[mysqld]

server-id=2

relay-log-index=slave-relay-bin.index

relay-log=slave-relay-bin

然后重启数据库,使用如下语句连接主库:

CHANGE MASTER TO

MASTER_HOST=‘192.168.226.5’,

MASTER_USER=‘root’,

MASTER_PASSWORD=‘123456’,

MASTER_LOG_FILE=‘mysql-bin.000002’,

MASTER_LOG_POS=6953;

接着在从库上运行start slave;开启备份,正常情况如下图所示:Slave_IO_Running和Slave_SQL_Running都为yes。

可以用这个步骤开启多个从库。

默认情况下备份是主库的全部操作都会备份到从库,实际可能需要忽略某些库,可以在主库中增加如下配置:

不同步哪些数据库

binlog-ignore-db = mysql

binlog-ignore-db = test

binlog-ignore-db = information_schema

只同步哪些数据库,除此之外,其他不同步

binlog-do-db = game

实战演示

为了方便演示我采用**【win10安装多个mysql实例】,原理是一样的**

1、下载mysql最新解压版,这里是mysql-8.0.22

解压,复制一份。分别新建my.ini文件。

 my.ini内容参考:注意端口的修改

[mysqld]

设置3306端口

port=3307

设置mysql的安装目录# 切记此处一定要用双斜杠

basedir=D:\DevPackTool\InstallPack\mysql1

设置mysql数据库的数据的存放目录

datadir=D:\DevPackTool\InstallPack\mysql1\data

允许最大连接数

max_connections=200

允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统

max_connect_errors=10

服务端使用的字符集默认为UTF8

character-set-server=UTF8MB4

创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

默认使用“mysql_native_password”插件认证

default_authentication_plugin=mysql_native_password

#开启binlog

log-bin=mysql-bin

replicate-do-db=test

server-id=3307

[mysql]

设置mysql客户端默认字符集

default-character-set=UTF8MB4

[client]

设置mysql客户端连接服务端时默认使用的端口

port=3307

default-character-set=UTF8MB4

2、创建mysql

第一个mysql

cmd进入目录:D:\DevPackTool\InstallPack\mysql1\bin,(选择你自己的安装路径)需要管理员权限执行命令:

 

mysqld --initialize --console

控制台会打印出密码,请记住初始化密码,如果忘记把根目录data文件夹删除,重新执行上面语句。

继续在D:\DevPackTool\InstallPack\mysql1\bin路径里执行创建服务命令,将服务命名为MySQL1:

mysqld --install mysql1

启用服务:

net start mysql1

登录mysql:

mysql -uroot -p

输入密码

更改密码:

alter user ‘root’@‘localhost’ identified with mysql_native_password by ‘123456’;

第二个mysql

和上面一样的原理,之后登录时要注意就是要加上端口号,因为默认是3306,3306已经被MySQL1占用了,MySQL2是3307,登录时需要指定端口:

mysql -uroot -P3307 -p

输入密码

#注意大写-P3307


配置参考上面的,需要在主库和从库上配置。

1、配置文件的配置

主库:

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

读者福利

由于篇幅过长,就不展示所有面试题了,感兴趣的小伙伴

35K成功入职:蚂蚁金服面试Java后端经历!「含面试题+答案」

35K成功入职:蚂蚁金服面试Java后端经历!「含面试题+答案」

35K成功入职:蚂蚁金服面试Java后端经历!「含面试题+答案」

更多笔记分享

35K成功入职:蚂蚁金服面试Java后端经历!「含面试题+答案」
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

由于篇幅过长,就不展示所有面试题了,感兴趣的小伙伴

[外链图片转存中…(img-kbBDiXpl-1713711362291)]

[外链图片转存中…(img-M795BXf9-1713711362291)]

[外链图片转存中…(img-IrnPZgVC-1713711362291)]

更多笔记分享

[外链图片转存中…(img-CBxpWekK-1713711362291)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 28
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值