windows平台下MySQL5.7主从数据库同步配置

一、配置主服务器

1. 找到my.ini文件

mysql5.7配置文件my.ini存放在C:\ProgramData\MySQL\MySQL Server 5.7\目录下, 在windows10下ProgramData是个隐藏目录。可以使用mysql命令行命令查看数据文件所在位置:

       mysql>select @@datadir;

2. 修改my.ini文件

使用文本编辑器打开my.ini文件,修改如下选项:

server-id=10   #保证全局唯一
log-bin=f:/mysql/binlog/test_bin #指定保存日志文件的路径,从库会读取次日志文件来进行同步操作。根据具体需要,指定任意目录和文件名
binlog-do-db=test #指定同步的数据库,如果不指定,将同步所有数据库数据

另外还可以设置以下选项

binlog_ignore_db=mysql  #指定不需要同步的数据库,重复该行可以指定多个数据库。

3. 设置从数据库服务连接主数据库服务的账号

运行下面命令在主服务器中建立从服务器的访问账号

grant replication slave on *.* to 'a4slave'@'%' identified by '123456';

4. 查看主服务器的状态

运行以下命令:

show master status;

将显示类似如下结果:

+-------------------------+------------+--------------------+-------------------------+--------------------------+
| File                         | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------------+------------+--------------------+-------------------------+--------------------------+
| test_bin.000001     |      154   |                          |                               |                                 |
+-------------------------+------------+--------------------+-------------------------+---------------------------+

显示当前正在使用的日志文件:test_bin.0000001;当前日志位置为154.

二、从服务器配置

1. 编辑my.ini文件

server-id=20   #保证全局唯一

2. 配置主服务器连接

2.1 停止从属线程

运行mysql命令行命令

stop slave;

2.2 设置主服务器

运行mysql命令行命令

change master to master_host='122.194.221.133',master_port=10002,master_user='a4slave',master_password='123456',master_log_file='test_bin.000001',master_log_pos=154;

以上命令中master_host为主服务器IP地址(例子中地址为虚构,如果和某真实地址一致,纯属巧合);master_user为主服务器中配置的用户名,master_password为该用户的密码。master_log_file为主数据库的当前日志文件,master_log_pos为日志文件的位置。

2.3 启动从属线程

运行mysql命令行命令

start slave;

2.4 查看从服务器状态

运行mysql命令行命令

show slave status;

至此,主从同步配置完毕。可以在主服务器的test数据库中进行各种操作,然后观察从数据库的变化。

注:

grant replication slave on test.* to 'a4slave'@'%' identified by '123456';

来限制主从复制只作用于test数据库,但是上面的语句会报错:Incorrect usage of DB GRANT and GLOBAL PRIVILEGES 因为replication slave 的级别是global,所以不能只作用于某一数据库,而是全局。所以只能用命令grant replication slave on *.* to 'a4slave'@'%' identified by 123456'; 可以在my.ini文件中配置 binlog-do-db=test来限制主从复制的数据库为test

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值