Mysql 5.7实现主从(Master/Slave)同步安装与配置

本文详细介绍了如何在CentOS和Windows之间搭建MySQL主从数据库同步,包括关闭防火墙、配置my.cnf、授权从库账号及重启服务等关键步骤。

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

前言:我的主数据库是安装在Centos6.1上的,从数据库是安装在window上的;

第一步:centos安装mysql:

1、参考文档:https://jingyan.baidu.com/article/9f63fb91728616c8400f0eed.html

                       https://blog.youkuaiyun.com/xlgen157387/article/details/49964557

注:既然是配合主从库,那么肯定2台机器之间必须是可以ping通的而且mysql的端口3306是对外开放的;

查看3306端口,发现时对外开放的:

 因为我的Master库是安装在Centos上的,所以为了测试方便,我直接关闭了Centos的防火墙(只有root用户才有权限关闭防火墙):

关闭防火墙成功:

为了进一步验证连Slavel是否能上Master,我window上用Navicat尝试连接,这样确保2台机器之间是可以互通的,这里可能会曝出一个错误java.sql.SQLException: Access denied for user ‘root’@’localhost’ (using password:YES):

解决办法是进入MySQL命令台执行下面2条命令

grant all privileges on *.* to root@"%" identified by "your password"; --your password替换成你的root用户的密码
flush privileges;

再一次连接,这次可以连接上了:

配置Master:

第二步:修改Master主库的mysql配置文件,etc/my.cnf文件:

my-bin就是bin-log文件的名字,可以根据各自情况自定义文件名;

server-id=2用于标识唯一的数据库,这里为设置2;

binlog-ignore-db:表示同步的时候ignore的数据库;

binlog-do-db:指定需要同步的数据库;

修改完成后重启mysql:service mysqld reatsrt;

 赋予从库权限帐号,允许用户在主库上读取日志,赋予110.45.xx.17也就是Slave机器有File权限,只赋予Slave机器有File权限还不行,还要给它REPLICATION SLAVE的权限才可以。

在Master数据库下执行命令:

GRANT FILE ON *.* TO 'root'@'10.45.xx.17' IDENTIFIED BY 'root';--这里的root用户是作为同步的时候使用的用户
GRANT REPLICATION SLAVE ON *.* TO 'root'@'10.45.xx.17' IDENTIFIED BY 'root';

然后再一次重启mysql:

重启完成后执行show master status;命令

 

这里的 File 、Position 是在配置Salve的时候要使用到的,Binlog_Do_DB表示要同步的数据库,Binlog_Ignore_DB 表示Ignore的数据库,这些都是在配置的时候进行指定的。

另外:如果执行这个步骤始终为Empty set(0.00 sec),那说明前面的my.cnf没配置对。

 

配置Slave:

因为是window系统,所以修改my.ini

新增下面的配置:

 Window重启mysql服务:

 从库执行如下命令:

stop slave;

change master to master_host='192.168.xxx.129',master_user='root',master_password='root',master_log_file='mysql-bin.000002', master_log_pos=283;

start slave;

在这里指定Master的信息(ip、用户名、密码),master_log_file是在配置Master的时候的File选项, master_log_pos是在配置Master的Position 选项,这里要进行对应。

show slave status查看配置信息:

从输出信息可以看出已经配置好了;

测试1:

Master新建一张表:

 Slave端查看是否已经同步:

 测试2:

Master插入一条数据:

 Slave查询是否同步了该条数据:

 同步成功:mysql主从同步数据库搭建成功;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值