mysql主从配置搭建步骤和遇到的坑

本文详细介绍了如何在两台服务器上配置MySQL主从复制,包括修改配置文件、创建远程复制账户、设置复制规则及常见问题解决方法。适用于MySQL 5.5及以上版本。

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

准备两个mysql 放在两台服务器上 ,

修改/etc/my.cnf

主库增加

server-id=1
log-bin=log
#指定可以被复制的数据库名称
binlog-do-db=test01

从库增加

server-id=2
replicate-do-db=test01

创建一个从库用于连接主库进行复制binlog的远程账户  

GRANT REPLICATION SLAVE,FILE ON *.* TO '账户'@'从库ip' IDENTIFIED BY '密码';

 

在mysql5.5之后 从库配置文件my.cnf 中对主库的配置开始不受支持了 

例如

master-host=主库ip
master-user=账户
master-password=密码

这种配置方式启动时会报错 ,  不能识别master-XXX 的错误 

需要用下面的方式配置

CHANGE MASTER TO MASTER_LOG_FILE='log.000001',MASTER_HOST="主库ip", MASTER_PORT=3306, MASTER_USER="远程账户", MASTER_PASSWORD="密码" , MASTER_LOG_POS=823 ;

pos 和log_file 需要在主库中查询  在主库中执行   show master status;

a18c3273e55144c3ef583122d46cfea1f1c.jpg

配置完成后   start slave;  在从库中启动   show slave status\G; 查看状态   

42ce88bb8a0322f9d9e5c1cfe4f56b2c033.jpg

标记红框位置为yes 代表成功   此时从数据库信息已经同步   

可能遇到的问题 

主从不能同步:

show slave status;报错:Error xxx dosn't exist
且show slave status\G:
Slave_SQL_Running: NO
Seconds_Behind_Master: NULL

解决方法:

stop slave;
set global sql_slave_skip_counter =1 ;
start slave;

之后Slave会和Master去同步 主要看:

Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Seconds_Behind_Master是否为0,0就是已经同步了

 

 

此时在主库中插入后从库自动同步  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/u/3618851/blog/3041727

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值