windows下安装mysql5.6.13的主从复制

如下操作均在vmware 虚拟机中winows xp 测试成功

中间走了很多弯路,网上的很多资料都是针对5.1以前的版本,在新版中根本无法使用,所以根据自己的实践整理了这篇文章

主服务:192.168.131.21

从服务器:192.168.131.22

1、主机的配置

my.ini中配置:

server-id = 1

binlog_format = "ROW"

log-bin=mysql-bin

启动服务后进入mysql命令行执行如下操作

GRANT ALL ON *.* TO ‘slave1‘@‘192.168.131.22‘  IDENTIFIED BY ‘123456‘;

如果需要进行某个数据库的同步的话,最好只创建对应数据库的权限,如:

GRANT ALL ON test1.* TO ‘slave1‘@‘192.168.131.22‘  IDENTIFIED BY ‘123456‘;

这样只会同步该数据库的内容。

2、从服务器设置

my.ini:

server-id = 2

relay-log-purge=1

skip-slave-start

replicate-ignore-db=mysql #此处为不同步mysql数据库的内容此处如果为多数据库的话中间以逗号分开

然后启动mysql 进入命令行 执行如下命令

CHANGE MASTER TO MASTER_HOST=‘192.168.131.21‘, MASTER_USER=‘slave1‘,  MASTER_PASSWORD=‘123456‘;

3、启动主从复制

首先启动主服务器的服务

其次启动从服务器的服务

然后在从服务器命令行执行

start slave;

然后执行如下命令 查看从服务器状态

SHOW SLAVE STATUS\G

*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.131.21
                  Master_User: slave1
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000007
          Read_Master_Log_Pos: 120
               Relay_Log_File: rainpetlab2-relay-bin.000010
                Relay_Log_Pos: 283
        Relay_Master_Log_File: mysql-bin.000007
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB:
          Replicate_Ignore_DB: mysql
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno: 0
                   Last_Error:
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 120
              Relay_Log_Space: 625
              Until_Condition: None
               Until_Log_File:
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File:
           Master_SSL_CA_Path:
              Master_SSL_Cert:
            Master_SSL_Cipher:
               Master_SSL_Key:
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error:
               Last_SQL_Errno: 0
               Last_SQL_Error:
  Replicate_Ignore_Server_Ids:
             Master_Server_Id: 1
                  Master_UUID: 2ab70a0e-a1c4-11e2-9c60-60eb69d711ca
             Master_Info_File: D:\wamp\data5\master.info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: Slave has read all relay log; waiting for the sla
ve I/O thread to update it
           Master_Retry_Count: 86400
                  Master_Bind:
      Last_IO_Error_Timestamp:
     Last_SQL_Error_Timestamp:
               Master_SSL_Crl:
           Master_SSL_Crlpath:
           Retrieved_Gtid_Set:
            Executed_Gtid_Set:
                Auto_Position: 0
1 row in set (0.00 sec)

ERROR:
No query specified

注:Slave_IO_Running: Yes
            Slave_SQL_Running: Yes必须为yes才行

还要注意的是:

我在做从服务器时,是停止服务,然后整体复制的data目录,如果不进行任何修改的话,会出现如下提示:

[ERROR] Slave I/O: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work. Error_code: 1593
121122 17:40:58 [Note] Slave I/O thread exiting, read up to log ‘FIRST‘, position 4

这个时候,应该删除data目录下的auto.cnf,然后重启服务

执行 start slave;即可

之后在主服务器上创建数据库

再从服务器上就可看到同步过来的数据了

还有如果更改从服务器的机器名的话 可这样这样执行命令:

stop slave;

reset slave;

start slave;

时间: 2024-11-17 09:32:43

windows下安装mysql5.6.13的主从复制的相关文章

使用Spring+MySql实现读写分离(一)关于windows下安装mysql5.6

前面讲过关于mysql的优化,主要是建表时对于大量数据的表添加索引机制,提高查询效率,以及一些sql语句的简单优化,毕竟我也不是专业的数据库管理员,大牛勿喷. 今天写两章关于javaweb项目中,对于数据库的优化,主要目的是减少数据库的访问压力和读写压力. 因为平时工作都是在windows上开发,所以讲解下windows下安装mysql5.6 1. 下载 http://dev.mysql.com/downloads/windows/installer/5.6.html 2. 安装 我们采用自定义

Windows下安装MySQL-5.7.19

下载MySQL-5.7.19版本,解压之后发现安装包不是一个exe文件: 于是网上找资料,发现了另外一种安装方法. 1.新建一个环境变量,我的电脑-属性-高级-环境变量-系统变量-新建 2.在系统变量的path末尾添加上刚刚新建的系统变量.(把;%MYSQL_HOME%\bin插入到Path的最后面) 3.以管理员的身份运行命令行,按win+R 输入cmd,点鼠标右键以管理员身份运行 4.命令行执行:%MYSQL_HOME%\bin\mysqld --initialize --user=mysq

windows下安装MySQL5.5.21图解

大家都知道MySQL是一款中.小型关系型数据库管理系统,很具有实用性,对于我们学习很多技术都有帮助,前几天我分别装了SQL Server 2008和Oracle 10g数据库,也用了JDBC去连接他们,都没有出现乱码.昨天看同学用java连接MySQL数据库的时候,出现了乱码,这是我不知道的,我马上上网去查JDBC连接MySQL的操作,发现在用JDBC方式连接MySQL数据库的时候要传递一个能解决乱码的参数,才能将不是乱码的数据插入到数据库中.而这都是因为在安装数据库的时候,没有选择正确的编码造

windows下安装mysql5.6及基本命令

一.mysql安装及系统环境设置 一般mysql包分为安装包和压缩包两种. 安装包以.msi结尾,点击按照提示选择安装即可. 压缩包解压后将文件夹拷贝至你要安装的位置,例如C:\Program Files\mysql下,拷贝完成后需要设置环境变量,右击我的电脑->属性->高级->环境变量,在弹出的窗口中找到变量名为path的系统变量进行编辑,在变量值中加入mysql安装目录下bin目录的路径信息,如;C:\Program Files\mysql\bin;(之前的路径如果没有分号,最好在加

Windows下安装MySQL5.6绿色版

建议安装MySQL绿色版的,什么是绿色版的?就是免安装,下载下来的截图是这样的 在该目录下创建一个文件夹/data用于存放数据, 新建一个my.ini文件,my.ini里面最基本的配置如下,my.ini的配置是比较多的,下面只是简单的配置,路径是我自己的路径,读者应该修改自己的路径(这一点老手不用讲,只是一些新手只会复制粘贴,特提出来): [mysqld] basedir=F:\mysql-5.7.17-winx64 datadir=F:\mysql-5.7.17-winx64\data por

windows下安装mysql-5.7.11-winx64

1.解压. 2.将『D:\Program Files\mysql-5.7.11-winx64\bin』加入系统环境变量. 3.修改my-default.ini. 4.初始化data目录,在安装目录下会出现一个data目录.(用管理员身份运行,不然权限不够) 5.安装mysql.(不管有没有配置过环境变量,建议进入bin文件夹) 6.启动mysql服务. 7.查看mysql版本. 至此mysql安装成功!但是直接登入输入mysql,或者mysql -u root -p登录都没有成功,开始也没有设置

Windows下安装Mysql5.7

版本如下: Windows10 Mysql5.7.18 下载地址:https://dev.mysql.com/downloads/mysql/ 本人解压到了:D:\Program Files (x86)\mysql57 解压后,配置系统环境变量.新增系统环境变量:MYSQL_HOME值为:D:\Program Files (x86)\mysql57接着在Path中添加:%MYSQL_HOME%\bin 在D:\Program Files (x86)\mysql57\下创建文件my.ini内容如下

Windows下安装Code::Blocks 13.12进行C/C++开发

CodeBlocks 是一个开放源码的全功能的跨平台C/C++集成开发环境.CodeBlocks是开放源码软件.CodeBlocks由纯粹的C++语言开发完成,它使用 了蓍名的图形界面库wxWidgets(2.6.2unicode)版.对于追求完美的C++程序员,再也不必忍受Eclipse的缓慢,再也不必忍受 VS.NET的庞大和高昂的价格. CodeBlocks 提供了许多工程模板,这包括:控制台应用.DirectX应用.动态连接库.FLTK应用.GLFW应用.Irrlicht工程.OGRE应

在windows下安装mysql5.6.24版本

链接地址:http://jingyan.baidu.com/article/90bc8fc8615c99f653640cc4.html 工具/原料 官网下载安装包 系统需装net 4.0及以上运行库 百度经验:jingyan.baidu.com 方法/步骤 双击 mysql-installer-community-5.6.24.0 安装,接受用户许可协议 步骤阅读   选择安装类型:Developer Default 默认安装类型,开发模式,该选项代表典型个人用桌面工作站,假定机器上运行着多个桌