MySQL(Windows和Linux)主从复制

一、Windows中的设置

在my.ini文件中添加

#主服务器唯一ID【必配】
server_id=1
#启用二进制日志【必配】
log_bin=数据库地址\data\mysqlbin

添加后重启数据库

  1. 创建一个新用户用来远程连接使用:
create user 'test'@'%' IDENTIFIED BY '123456'
  1. 刷新mysql
flush privileges;
  1. 授予从机复制表权限
GRANT REPLICATION SLAVE ON *.* TO 'test'@'从机ip' IDENTIFIED BY '123456';

在windows的服务中重启mysql

  1. 重新使用root用户登录Mysql,执行如下sql:

show master status;

显示结果如下:

+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+

| mysqlbin.000001 | 1524 |

+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+

1 row in set (0.00 sec)

记住此处的file名称和position。

之后关闭Windows和Linux的防火墙

二、Linux中文件配置

  1. 编辑my.cnf文件 vim /etc/my.cnf 添加内容
#需要比主机的小
server-id=2
#启用二进制日志
log-bin=mysql-bin
  1. 重启服务器 service mysql restart
  2. 登录Slave从服务器,连接Master主服务器 输入以下命令:
change master to master_host = '主机IP', master_port=3306, master_user='test', master_password='123456', master_log_file='mysqlbin.000001', master_log_pos=1524;

备注:master_host对应主服务器的外网IP地址,master_port对应主服务器的端口(3306),master_log_file对应show master status显示的File列:mysqlbin.000001,master_log_pos对应Position列:1524,否则有可能出现同步失败。

  1. 重启服务器 service mysql restart
  2. 登录MySQL状态下,启动Slave数据同步。
start slave;
  1. 最后可以查看下状态:
show slave status\G

在这里插入图片描述
当从库的 IO线程和SQL线程的状态都是yes时,说明主从模式配置成功。
如果需要重置
主机使用

reset master;

从机使用

reset slave;

之后将两个服务重启即可。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值