序:
    网上有很多类似的文章,也是各种百度出来的,但是对于多数刚开始接触MYSQL主从的小白来说,网上文章的代码里面很多技术点都没有理解,有跌打误撞碰上的,但多数都是这篇文章卡主了,换篇文章接着卡。- -。
    下面真正开始写教程之前,我希望你能够先完整的看完,再去敲代码。
    方法适用于MYSQL 5.1之后的版本。之前的版本,自行百度。
Mysql的主从是个什么德行我就不解释了。不然你也不会搜不到这篇文章。
环境:
w7 64位。
    mysql 5.5.24...(也就是多数大家装的wamp包里面的版本)
其实应该是要在 linux里面去做这件事的,但是仅仅是为了了解,学习这个主从,大多数人还是windows下的平台,So...不解释。
首先你要在你的windows下再装一个mysql实例(不要妄想着一个Mysql实例,里面弄两个库然后他们配置主从,这个我可没玩过,有兴趣的同学可以尝试一下),意味着你要分配不同的端口。
windows下安装多个mysql的过程看下面这篇文章就好了。

这是用到的软件包
(看我多么良心,连软件都给你准备好了,不用你去各大垃圾下载站去下载了。再次注意你的环境,保证跟我的一样,以及数据库版本)


OK。我就当你已经配置好了第二个mysql实例。
下面两个bat 文件代码,用来帮你快速启动关闭你的新服务
startmysql.bat

@ECHO OFF

net start mysql5.5

pause

stopmysql.bat

@ECHO OFF

net stop mysql5.5

pause

这个mysql5.5 是你第二个实例的服务名称,stop停止服务,start 开启服务,不解释了。
别忘了进去你第二个Mysql实例瞅瞅。


进入正餐:
因为我们是在一个windows下配置的,所以没有网上那些主从 IP。 都是localhost
主数据库  my.ini添加如下

在[mysqld]下添加配置数据:
server-id=1     #配一个唯一的ID编号,1至32。 手动设定
log-bin=mysql-bin  #二进制文件存放路径 ,不要在意为啥没有路径名,你就这样写

#设置要进行或不要进行主从复制的数据库名,同时也要在Slave(也就是你的从库) 上设定。
binlog-do-db=进行主从数据库名1 ,进行主从数据库名2
binlog-ignore-db=不参与主从的数据库名,不参与主从的数据库名2
保存,重启数据库服务。

上面的这些配置的含义:

- server-id 顾名思义就是服务器标识id号了

    - log-bin 指定日志类型

    - binlog-do-db 是你需要复制的数据库名称,如果有多个就用逗号“,”分开

    - binlog-ignore-db 是不需要复制的数据库名称,如果有多个就用逗号“,”分开

在主库中建立一个用户(专门用给从库连接的,注意这是在主库里面建立的,可别迷迷糊糊的到从库的命令界面敲):



1.mysql>grant replication slave,reload,super on *.* to lisimin@localhost identified
by 'root' ; 


2.mysql>flush privileges; 

3.mysql>show master status; # 找到File 和 Position 的值记录下来;



简单解释一下第一句。
创建了一个用来复制的账号。

“@”前面的“lisimin”是用户名,后面的是有效的域,这里因为是本地,所以是写的是Localhost,如果是其他地址,对应填写上IP即可,不过应该不需要考虑端口问题,我创建的时候就没写端口。by 后面的“root”是密码。账户密码自己定义,不要跟root,以及你当前的用户名冲突。。


2.flush....刷新权限。
3.这个就是你的日志值
下面这篇文章是介绍创建用户对应分配权限问题的,简单了解一下就行。



从库配置:
从数据库配置my.ini:
[mysqld]
server-id=2     #唯一
#设置要进行或不要进行主从复制的数据库名,同时也要在Master 上设定。
replicate-do-db=进行主从数据库名1 ,数据库名2
replicate-ignore-db=不进行数据库名1 ,数据库名2

多个数据库之间用 , 分割。其实也可以这样写
replicate-do-db=进行主从数据库名1 
replicate-do-db=进行主从数据库名2
上面的那个写法也是。

其实你只需要写进行主从的库名称就可以了。
对了。假如你的主库叫 A 。那你的从库 最好也叫A。叫别的也可以,不过一定要是存在的。

下面登陆你的从库:
mysql>change master to master_host='127.0.0.1',master_user='slave',master_password='slave',
master_log_file='mysql-bin.000001',master_log_pos=107;

master_host= 这里填你主库的IP。
master_user='lisimin'  刚才我们创建的那个用户。
master_user='root'  ..不解释。
这就是我们刚才 在主库里面 show  master status;得到的值了。自行根据实际情况填写
master_log_file='mysql-bin.000015' 
master_log_pos=107

如果你的主库还有是其他端口的话,
master_port=端口号   
master里面常用的就这些参数了,其余的自行百度。
常见的有,让你先 stop slave 。。
那你就先 mysql>stop slave 。再执行上面的代码。其他的错误,容易出现在语法,标点符号上,
然后 mysql>start slave ;
mysql>show slave status\G;
如果出现:
Slave_IO_Runing:Yes
Slave_SQL_Running :yes
那就说明成功了,如果出现错误,一般都是连接出问题。重新检查一下你是否正确的输入了刚才创建的用户名和密码。好了基本上就是这些问题了。

尊重原创,一些资料,也是从下面两篇文章中参照的、


最后说点注意事项,从库要先创建好,以及里面的表结构,反正我是先创建好表结构的,如果你说以后涉及到添加,删除字段问题,那就是以后的事了。

还有,如果你真正部署到服务器的话,一般是linux一定要写好了定时删除 日志文件的脚本文件,这个估计是以后的事了。不然,日志文件可是非常大的。定期做个备份啥的。

OK,这样你就可以在你的主数据库里添加一条记录试试,看看你的从库有木有记录。(别忘开从库的服务啊、、)
以及,可以把主库里面的表设计为 innodb。从库设计为myisam。。来提高性能。

不啰嗦了。


Windows下多个Mysql实例配置主从的更多相关文章

  1. Windows下多个Mysql实例配置主从(转)

    https://www.cnblogs.com/jpfss/p/8143720.html 序:     网上有很多类似的文章,也是各种百度出来的,但是对于多数刚开始接触MYSQL主从的小白来说,网上文 ...

  2. windows下apache+php+mysql 环境配置方法

    一 准备 1 下载apache http://httpd.apache.org/download.cgi#apache24 httpd-2.2.22-win32-x86-openssl-0.9.8t. ...

  3. MySQL数据库配置主从服务器实现双机热备

    转自:http://www.cnblogs.com/cchun/p/3712637.html 一.安装MySQL 说明:在两台MySQL服务器192.168.21.169和192.168.21.168 ...

  4. windows下搭建Apache+Mysql+PHP开发环境

    原文:windows下搭建Apache+Mysql+PHP开发环境 要求 必备知识 熟悉基本编程环境搭建. 运行环境 windows 7(64位); Apache2.2;MySQL Server 5. ...

  5. Windows 下java环境变量的配置(Windows7 ,8,8.1,10)

    Windows 下java环境变量的配置 在“系统”面板的左上角选择“高级系统设置”,在弹出的系统属性中选择”高级“项,然后点击右下角的“环境变量(N)...”,就此进入JAVA环境变量的配置. 如果 ...

  6. windows下如何设置mysql环境变量

    方法一: windows下如何设置mysql环境变量 关键词: mysql, Setting Environment Variables, 环境变量设置 我的电脑->属性->高级-> ...

  7. windows下wamp多域名的配置

    前面的话 本文将详细介绍windows下wamp多域名的配置方法 修改hosts文件 hosts文件的位置:系统盘→“windows”→“System32”→“drivers”→“etc” 打开hos ...

  8. windows下安装MongoDB扩展和配置

    windows下安装MongoDB扩展和配置 1.下载mongoDB扩展,根据当前php版本进行下载 地址如下:http://pecl.php.net/package/mongo 我本地php版本是 ...

  9. windows下手动安装composer并配置环境变量

    windows下手动安装composer并配置环境变量   转载地址: https://my.oschina.net/7sites/blog/209997 之前发表过一篇如何为composer设置代理 ...

随机推荐

  1. android中文网站

    Google Developers中国网站发布 用户评价:  / 55 差好  最后更新于 2016年12月09日 点击数:15209   我们很高兴地宣布,Google Developers 中国网 ...

  2. Weka中数据挖掘与机器学习系列之为什么要写Weka这一系列学习笔记?(一)

    本人正值科研之年,同时也在使用Weka来做相关数据挖掘和机器学习的论文工作. 为了记录自己的学习历程,也便于分享和带领入门的你们.废话不多说,直接上干货!

  3. 用Struts2搭建一个登录例子【本人亲测好用】

    今天尝试struts2的搭建,遇到不少的问题,终于一一解决,逛了很多地方,最终完成搭建 1.首先要下载struts2的一些组件,我下载的是版本2.3.4.1,Eclipse是4.6版本的.由于版本的不 ...

  4. 51nod 最大子段和问题

    给出一个整数数组a(正负数都有),如何找出一个连续子数组(可以一个都不取,那么结果为0),使得其中的和最大? 用f[i]表示以i为结尾的最大字段和,也就是说i一定要取, 那么f[i] = max(a[ ...

  5. 怎样用redis实现分布式锁

    引子 redis作为一个强大的key/value数据库.事实上还能够用来实现轻量级的分布式锁. 1.实现方案1 最早官方在SETNX命令页给了一个实现: acquire lock: SETNX loc ...

  6. 把文件保存到 sdcard

    直接上代码: package com.example.test; import java.io.File; import java.io.FileNotFoundException; import j ...

  7. SpringMVC-@RequestMapping的参数和用法

    RequestMapping里面的注解包含的参数如图: RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上.用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径. ...

  8. Postman APP

    http://chromecj.com/web-development/2017-12/870.html    Postman 工具模拟http各种协议请求.

  9. reboot---重启Linux系统

    reboot命令用来重新启动正在运行的Linux操作系统. 语法 reboot(选项) 选项 -d:重新开机时不把数据写入记录文件/var/tmp/wtmp.本参数具有“-n”参数效果: -f:强制重 ...

  10. nginx配置静态文件服务器的一个特殊需求的探索和分享, nginx处理不同路径返回统一文件,nginx改写,跳转请求.

    最近在做一个前后端分离的个人博客,在做自己博客的时候有个想法,本来是打算用nginx作为静态文件服务器使用,django做后端程序. 我的前端页面用vue写的,结果用组件用嗨了,发现页面列表和 详情都 ...