Windows2012+Mysql5.7主从搭建

安装Mysql 5.7

首先MySQL官方网站从http://dev.mysql.com/downloads/下载MySQL服务器安装软件包,我下载为版本“
mysql-installer-community-5.7.15.0 ”不多说,双击进入安装。
在这里插入图片描述
选择全产品
在这里插入图片描述
点击“Execute”按钮后,可能会下载一些程序,到时你自己点击安装就行了,直到所有安装完成就OK了,如下图:
在这里插入图片描述
程序安装完之后:
在这里插入图片描述
点击“Next”进入安装,如下图:
在这里插入图片描述
当安装完了,如下图:
在这里插入图片描述
在这里插入图片描述
进入服务器配置,如下图:
在这里插入图片描述
设置root密码:
在这里插入图片描述
下一步
在这里插入图片描述
下一步
在这里插入图片描述
在这里插入图片描述
注:我简单配置错误日志存放路径,如果不想进入日志配置,那就在“服务器配置”那里不选高级配置,如图下图:
在这里插入图片描述
应用服务配置:
在这里插入图片描述
应用完成
在这里插入图片描述
在这里插入图片描述
点击“check”,测试连接服务器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
安装完成:
在这里插入图片描述
MySQL安装完成,验证一下,是否可以正常使用,如下图:
在这里插入图片描述
或者使用MySQL Workbench,如下图:
在这里插入图片描述
输入密码后,查询一下,如下图:
在这里插入图片描述

Windows下搭建MySQL Master Slave:
1.逻辑架构图

在这里插入图片描述
注:需要在master和slave节点上各安装一个mysql5.7,底层操作系统都为同一版本windows

2.搭建过程

环境:Windows Server 2012 + mysql-5.7.15.0-win64
主服务器(Master):10.1.1.189
从服务器(Slave):10.1.1.231
使用Master/Slave架构,Slave为只读模式;

配置主服务器Master

编辑数据库配置文件my-default.ini,在[mysqld]标签下面加入下面代码:

log-bin=mysql-bin
server-id=1
innodb_flush_log_at_trx_commit=1
sync_binlog=1
#binlog_do_db=barfoo_weibo_hottop (指定要同步的数据库)
binlog_ignore_db=mysql
binlog_cache_size=2M
max_binlog_size=128M

重启MySQL服务
点击“开始”->“运行”(快捷键Win+R)
停止:输入 net stop mysql57
启动:输入 net start mysql57

在Master服务器新建一个用户赋予“REPLICATION SLAVE”的权限,你不需要再赋予其它的权限,这里指定的IP为Slave的IP;(@后面为允许制定的IP 访问主库的某个权限)

mysql>CREATE USER viajar@'10.1.1.231' IDENTIFIED BY 'abc2017';
mysql>GRANT REPLICATION SLAVE ON *.* TO viajar @'10.1.1.231' IDENTIFIED BY 'abc2017';

注:删除用户drop user viajar@‘10.1.1.231’;

4. 在Master服务器执行下面的脚本,让数据库只能读;
mysql>FLUSH TABLES WITH READ LOCK;
5. 拷贝数据库文件夹和ibdata1文件到本地临时文件夹中,马上执行下面的步骤;
6. 查看Master服务器的状态,记下File及Position的值,后面设置Slave服务器的时候需要用到;
mysql>SHOW MASTER logs;
mysql>SHOW MASTER STATUS;

在这里插入图片描述
注:执行完后贴到从库的change脚本里

7. 对表进行解锁,恢复数据库读写;
mysql>UNLOCK TABLES;
8. 使用FTP等工具把第5步骤的临时文件传到Slave服务器;并覆盖slave的数据文件

注:假如是你完全新安装mysql主从服务器,这个一步就不需要。因为新安装的master和slave有相同的数据。关停Master服务器,将Master中的数据拷贝到B服务器中,使得Master和slave中的数据同步,并且确保在全部设置操作结束前,禁止在Master和slave服务器中进行写操作,使得两数据库中的数据一定要相同!

配置从服务器(Slave)

  1. 编辑数据库配置文件my.ini,在[mysqld]的下面加入下面代码,可以自己定义数值,只要保证唯一的就行,与Master的能区分开就行;
server-id=2
read-only=1
#log-bin=mysql-bin (从库不写log-bin)
#relay_log=mysql-relay-bin(从服务器I/O线程将主服务器的二进制日志读取过来记录到从服务器本地文件,然后SQL线程会读取relay-log日志的内容并应用到从服务器)
#log_slave_updates=1ABCB即是A的从也是C的主,需要在B配置这个参数)
  1. 重启MySQL
  2. 登录MySQL服务器,执行下面的脚本命令:
mysql>CHANGE MASTER TO
MASTER_HOST='172.17.2.42',
MASTER_USER='rep',
MASTER_PASSWORD='glprep1!',
MASTER_PORT=3306,
MASTER_CONNECT_RETRY=30,
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=38133;

注:用SHOW SLAVE STATUS\G查看配置是否正确

  1. 启动Slave进程,执行下面的脚本命令;
mysql>START SLAVE;
  1. 检查主从同步状态,执行下面的脚本命令,其中Slave_IO_Running 与 Slave_SQL_Running 的值都必须为YES,才表明状态正常。
mysql>SHOW SLAVE STATUS/G;

在这里插入图片描述

3.测试主从服务器数据同步

主库创建表:

use world
create table t_master01(id int(10),name varchar(20));
insert into t_master01 values(001,'Lee');

select * from t_master01

在这里插入图片描述

从库查询表此表是否被创建,且数据已插入:
use world
select * from t_master01;

在这里插入图片描述
注:主从同步成功,搭建完成。

注:relay-bin在从库已经有了,所以从库的my.ini不需要配置此参数

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值