主从复制详细配置

注意:主从服务器mysql版本最好一致,本次测试基于mysql5.7windows版本;主从服务器网络互通;

一、主服务器配置步骤:

  1. 安装mysql数据库;

  2. 配置my.ini文件(配置后重启mysql服务)。找到主数据库的配置文件my.ini(或者my.cnf),我的在C:\ProgramData\MySQL\MySQL Server 5.7\my.ini;

配置唯一的server-id(一般默认server-id=1,此处server-id不和从库server-id相同即可)。
开启二进制日志(),在my.ini配置文件中[mysqld]下方插入:log-bin=mysql-bin #开启二进制日志
3. 打开cmd命令行,登录mysql数据库,修改root用户的host字段,将默认host=“localhost”改为host=“%”;

  1. 查看master状态,记录二进制文件名(如下实例:mysql-bin.000001)和位置(如下实例:154),以上两个数据在从库连接主库时要用。Binlog_Do_DB字段为“允许同步的数据库的库名”。Binlog_Ignore_DB字段为“不允许同的数据库的库名”。此处在my.ini文件中设置,在[mysqld]下方加入binlog-do-db = game(数据库名。例如:game)表示允许同步“game”数据库。不允许雷同;

mysql > SHOW MASTER STATUS;
±-----------------------±-----------±--------------------±------------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
±-----------------------±-----------±--------------------±------------------------+
| mysql-bin.000001 | 154 | game | |
±-----------------------±-----------±--------------------±------------------------+
二、从服务器配置步骤:

  1. 安装mysql数据库;

  2. 配置my.ini文件(配置后重启mysql服务)。找到主数据库的配置文件my.ini(或者my.cnf),我的在C:\ProgramData\MySQL\MySQL Server 5.7\my.ini;(ProgramData可能时隐藏文件,通过%ProgramData%搜索可找到)

配置唯一的server-id,将server-id改为2。(一般默认server-id=1,此处server-id不与主库server-id相同即可。)
3. 申请访问主库;cmd命令行重启并登录mysql,执行以下sql语句(若不能执行,请按错误提示输入命令);

mysql> CHANGE MASTER TO
-> MASTER_HOST=‘10.25.101.165’, #此ip为主服务器ip地址
-> MASTER_USER=‘root’, #此root为主库用户名
-> MASTER_PASSWORD=‘0000’, #此0000为主库用户名的密码
-> MASTER_LOG_FILE=‘mysql-bin.000001’, #此mysql-bin.000001为二进制文件名,主服务器 SHOW MASTER STATUS; 命令等到的值
-> MASTER_LOG_POS=154; #此154为主服务器二进制文件位置, 主服务器 SHOW MASTER STATUS; 命令等到的值
4.启动slave进程;

 mysql> start slave;

5.测试是否同步成功;如下红色部分,Slave_IO_Running: Yes 和 Slave_SQL_Running: Yes 均为 yes 则为成功;

 mysql> show slave status\G

*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.25.101.165
Master_User: root
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 154
Relay_Log_File: mysqld-relay-bin.000022
Relay_Log_Pos: 11765
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:

如果Slave_IO_Running: connecting 表示连接主库出现问题;
可能出现的原因有:
1,网络不通;2,MASTER_LOG_POS​​​​​​​值和主服务器对不上;3,用户名或者密码错误;
4.成功后去主从服务器game数据库测试即可。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值