mysql主从复制

本文详细介绍了如何在两台Linux主机上配置MySQL主从复制,包括安装MariaDB、编辑my.cnf、设置复制用户及权限,以及解决'/data/binlog/mysql-bin.index'丢失的问题。适合初学者和运维人员参考。

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

mysql主从复制:

mysql主从复制,大概原理是主服务器操作时,开启二进制日志(log-bin),将操作写入二进制日志,从服务器得到改变的通知,会读取二级制日志文件到从机器节点上,然后sql线程执行更新

配置步骤:

1、主机配置serverId,开启log-bin
2、从机配置serverId
3、主机设置一个从机的复制用户账号
4、从机执行change命令进行复制

开始配置:

1、准备两台linux主机

ip角色
192.168.58.11主机
192.168.58.12从机

2、安装mysql,这里使用的mariadb
两台机器都执行以下命令

yum install mariadb-server

3、在主机上配置文件上进行设置
1)打开/etc/my.cnf

vi /etc/my.cnf

配置如下:
在这里插入图片描述
2)启动主机mariadb

systemctl start mariadb

3)主机设置从机的同步账号

GRANT REPLICATION SLAVE ON *.* TO 'hello'@'192.168.58.12' identified by '123456'

以上命令指的是:允许使用账号(hello)和密码(123456),在ip为192.168.58.12上复制任何库的任何表

4、从机设置
1)配置my.cnf
在这里插入图片描述
2)启动mariadb

GRANT REPLICATION SLAVE ON *.* TO 'hello'@'192.168.58.12' identified by '123456'

3)执行命令复制启动命令

change master to master_host='192.168.58.11',master_user='hello',master_password='123456',master_log_file='master-log.000003',master_log_pos=497;

其中master_log_file和master_log_pos指的是复制哪个binlog文件和在偏移量,以主机执行命令为准,如下命令:
主机上执行

show master status

在这里插入图片描述
4)启动start salve

start slave;

4)查看状态

show slave status;

在这里插入图片描述
5、好了,这就完成了!
参考网上其他小伙伴的博客,我写这个也是为了自己的记录而已!

问题:

my.cnf中的log-bin参数指的是二进制文件的名称,本来是可以设置一个文件路径的,但是我这怎么也不能成功,总是出现:/data/binlog/mysql-bin.index’ not found (Errcode: 13)
我把该路径下也给换成了mysql的用户还是不行,这也是一个遗憾把

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值