Mysql 主从架构之-主从配置

本文详细介绍了MySQL主从复制配置步骤,包括主服务器和从服务器的设置,通过具体实例展示了如何实现数据同步,并解决了同步过程中可能遇到的问题。

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

主从服务器IP配置:
master:192.168.88.10
slavel:192.168.88.11
slaver:192.168.88.12
1.master服务器配置

a.创建repl新用户,并授权:

mysql> create user 'repl'@'192.168.88.%' IDENDIFIED BY "Tfcyjm1314@";
mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.88.%' IDENTIFIED BY 'Tfcyjm1314@';

b.配置 /etc/my.cnf 文件
将如下内容加入到/etc/my.cnf

server-id=10  
log-bin=master-bin
log-bin-index=master-bin.index

c.重启mysql

[root@master etc]# systemctl restart mysqld;

d.查看master状态:
这里写图片描述
记住Position 号码,与File 文件名。

2.slave 配置
a.配置slave服务
将下列参数加入到/etc/my.cnf

#master-slave repl
server-id=2
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin

登录mysql

[root@slavel ~]# mysql -u root -p

b.配置master链接

mysql>CHANGE MASTER TO
MASTER_HOST='192.168.88.10',
MASTER_USER='repl',
MASTER_PASSWORD='Tfcyjm1314@',
MASTER_LOG_FILE='master-bin.000004',
MASTER_LOG_POS=2962;

c.重启,查看slave状态:

mysql> stop slave;
mysql> start slave;
mysql> show slave status;

3.验证
a.在master 创建数据库

mysql> CREATE DATABASE replDB DEFAULT CHARACTER SET utf8;
Query OK, 1 row affected (0.00 sec)

b.在slave 查看是否同步

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| replDB             |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

几个注意的地方:
1.repl 用户GRANT REPLICATION SLAVE 即可;
2.用show slave status 查看同步状态,遇到链接失败,可能是密码错误,权限不过,或者iptables(我被iptables 强奸了好几回….)
3.在slave 中,用mysql> show slave status\G;查看同步状态,确认 Slave_IO_Running: Yes Slave_SQL_Running: Yes


mysql> show slave status\G;
*************************** 1. row ***************************
Slave_IO_State:
Master_Host: 192.168.88.10
Master_User: repl
Master_Port: 3306
Connect_Retry: 10
Master_Log_File: master-bin.000004
Read_Master_Log_Pos: 3320
Relay_Log_File: slave-relay-bin.000002
Relay_Log_Pos: 518
Relay_Master_Log_File: master-bin.000004
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:

如果出现 Slave_SQL_Running: No,则要进行如下重新配置:
1.在master 查看状态,记住position号。
这里写图片描述
2.停止slave
mysql> stop slave
3.运行master 链接配置
mysql> CHANGE MASTER TO
MASTER_HOST=’192.168.88.10’,
MASTER_USER=’repl’,
MASTER_PASSWORD=’Tfcyjm1314@’,
MASTER_LOG_FILE=’master-bin.000004’,
MASTER_LOG_POS=3302;
4.重启slave
mysql> start slave
即可!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值