Win7环境MYSQL 主从复制的配置(无插件版)

近期做了个项目,要求数据库做个主从复制(因为读多写少,不用中间件),现在把相关步骤和命令写下来,免得自己以后老是忘记、丢三落四的。
另外下面的说到的主库也就是写库,从库也就是读库,在这里只演示一写一从的例子,一写多读的,可以根据自己的需求安装多个从库(必须在配置前复制多个从库)
首先做准备工作:
下载mysq集群版(https://dev.mysql.com/downloads/file/?id=473605),我用的是mysql-installer-community-5.7.20.0.msi(开发环境用的,生产服务器改用linux版的)。
确保开发服务器上没有安装过mysql,如果有则先卸载或
用命令.\Mysqld.exe remove mysql(你的mysql服务名)
现在开始安装:
  1. 安装主mysql
    运行mysql-installer-community-5.7.20.0.msi,next, 选择Custom,我选的是-x64
    这里写图片描述
    选中选择的-x64版本,会在右下方有个“Advanced Options”选项,可以修改安装路径,分别是软件的安装路径和数据的存储路径,
    我的mysq修改为D:\mysql\MySQLServer5.7 和 D:\mysql\MySQLServer5.7\data
    选择安装路径
    然后一路next,如下图(一定要选择最下面的高级选项
    这里写图片描述
    还是next,
    这里写图片描述
    还是next,
    这里写图片描述
    还是next,下图是最关键的一步,如图,
    这里写图片描述
    最后next 并执行安装。
    确认是否安装成功,打开服务,搜索“MySQL-3306”,是否能正常开启和停止,或者用客户端访问下。

  2. 安装从Mysql
    复制刚才安装的MySQLServer5.7,重命名为MySQLServer5.7-3307
    打开D:\mysql\MySQLServer5.7-3307\logs,清空里面的log,
    进入D:\mysql\MySQLServer5.7-3307\data,将里面的日志文件删除,注意auto.cnf不能删这里写图片描述

    打开D:\mysql\MySQLServer5.7-3307\data\my.ini
    修改里面的内容:
    所有3306 改为 3307
    里面的所有的MYSQL-3306 替换为 MYSQL-3307
    server-id改为101吧
    数据路径修改为datadir=D:/mysql/MySQLServer5.7-3307/data/Data
    日志路径,也要相应的修改。
    修改D:\mysql\MySQLServer5.7-3307\data\Data\auto.cnf
    server-uuid=3b151ba9-bfa9-11e7-9156-34e6d7fe412f 随便改里面一个数字,别和“主MYSQL”重复就行。

最后启动从mysql,打开cmd,进入D:\mysql\MySQLServer5.7-3307\bin,在bin下执行.\mysqld.exe install MySQL-3307 –defaults-file=”d:\mysql\MySQLServer5.7-3307\data\my.ini” 如图:
这里写图片描述注意前面有个“.”,表示在当前目录下执行
执行成功会有“Service successfully installed.”提示,
然后进入系统服务,手动启动服务“MySQL-3307”。

多个从库的,可以再次执行上面的步骤“2. 安装从Mysql”

  1. 主从配置
    注意事项: DB版本一致;数据库一致;最好都用innoDB存储引擎;主DB开启二进制日志;主、从的server-id 要唯一;
    在主库新建数据库HW5002(字符集utf-8),里面创建你的表结构,
    然后导出该库HW5002.sql,
    在从库也创建相同的库HW5002(字符集utf-8),将HW5002.sql导入。

    重点来了
    a) 现在开始配置主库:
    打开主库的my.ini文件,在最下面追加
    binlog-do-db=HW5002
    #指定需要同步的数据库,如果不指定,则全部复制。
    然后在主库下运行命令SHOW MASTER STATUS
    执行结果如图
    这里写图片描述
    一会儿下面要用这个查询结果Postition#这个就是从库需要从主库的这个Position位置开始复制。
    主库给从库创建一个同步用户slave001,密码123456并授权,命令如下:GRANT REPLICATION SLAVE ON . TO ‘slave001’@’127.0.0.1’ identified by ‘123456’;
    flush privileges;
    b)现在配置从库:
    修改从库的my.ini文件,
    确保server-id 不与主库重复,这里我设置server-id =101
    然后,在从库执行如下命令:
    CHANGE MASTER TO
    master_host=’127.0.0.1’,
    master_user=’slave001’,
    master_password=’123456’,
    master_port=3306,
    master_log_file=’mysql-bin.000003’, #上面查询
    master_log_pos=11737076;#上面查询

执行完后,执行启动slave命令:START SLAVE;
查看同步slave是否成功命令:SHOW SLAVE STATUS;
如果得到如下图所示都为YES则同步设置成功
这里写图片描述

  1. 验证
    在主库INSERT/UPDATE一条数据,然后在从库查看是否也有 一条同样的数据。

    以上大功告成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值