mysql master slave 配置

本文详细介绍了如何在MySQL环境中配置主从复制,包括主服务器的配置、创建复制账户、从服务器的配置以及启动和测试从复制过程。

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

1 先配置主服务器,服务器IP192.168.0.192

vi /etc/my.cnf或my.ini

#在[mysqld]节点下面 确保有一下两行,并开启

server-id=1
log-bin=D:\data\mysql\Master\log.log
binlog-do-db = deercms

 

说明

server-id 为主服务器的唯一标识,在主从复制架构中的每一台服务器都有一个唯一标识

log-bin 二进制日志存放路径 

binlog-do-db 需要复制的数据库名

 

2 在主服务器上创建复制账户

GRANT REPLICATION SLAVE ON *.* TO 'test'@'129.164.152.16' IDENTIFIED BY '123456';

账户名:test  密码:123456, 从服务器ip'129.164.152.16' 或者可以写成%,让所有IP 都可以用此账户复制,或129.164.152.%

 

3重启主服务器,登陆mysql,输入命令 SHOW MASTER STATUS\G  查看二进制日志情况

+------------------+----------+--------------+------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin.000001 | 108      |              |                  |

+------------------+----------+--------------+------------------+

1 row in set (0.00 sec)

当前日志文件:mysql-bin.000001,文件位置108

 

4 从服务器(slave)端的配置

在[mysqld]节点下面 写入下面配置

 

 log_bin = mysql-bin

  #从机id,区别于主机id
  server-id=2
  #主机ip,供从机连接主机用
  master-host=192.168.1.102
  #主机端口
  master-port=3306
  #刚才为从机复制主机数据新建的账号
  master-user=slave
  #刚才为从机复制主机数据新建的密码
  master-password=123456
  #连接断掉后重试间隔时间10秒
  master-connect-retry=10
  #需要同步的数据库
  replicate-do-db=deercms
  #启用从库日志,这样可以进行链式复制,这个选项可以确保来自master 并被执行的语句会被写入slave 的二进制日志文件中(请先开启二进制日志)
  log-slave-updates
  #从库是否只读,0表示可读写,1表示只读
  read-only=1

  #二进制文件索引文件路径
  relay-log-index=slave-relay-bin.index
  #二进制文件路径
  relay-log=slave-relay-bin
 

5 停止从服务器的slave

  登陆mysql 输入以下命令

 # 停止slave 复制服务 

 stop slave

 #设置从服务器的二进制配置

  change master to master_host='localhost', master_user='test', master_password='123456',master_log_file='log.000001', master_log_pos=106;

  master_host 主服务器ip

  master_user 主服务器复制账户test

  master_password 主服务器复制账户密码

  master_log_file 主服务器目前的二进制文件名

  master_log_pos 主服务器目前的二进制文件的当前复制位置

 #再次开启slave

 start slave

#查看从服务器配置状态

SHOW SLAVE STATUS\G

 

将会出现先信息

 

Slave_IO_State: Waiting for master to send event

Master_Host: station192.example.com

Master_User: tom

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000001

Read_Master_Log_Pos: 175

Relay_Log_File: mysql-relay-bin.000001

Relay_Log_Pos: 175

Relay_Master_Log_File: mysql-bin.000001

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

 

如果输出信息有(两项必须yes) ,则说明配置成功!

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

 

6 测试

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值