创建mysql主从数据库方法(双向主从复制)

(一)Windows系统下的MySQL主从复制(单向复制)

(1)环境说明:

1,Mysql版本:mysql5.7.20(主从机mysql版本必须一致)

2,服务器一:

主机(master)

IP:192.168.1.33  (外网:171.221.207.147:9550)

mysql端口3307  

用户:root(spaceon)

服务器二:

从机(slave)

IP:   192.168.1.27   (外网:171.221.207.147:9542)

mysql端口3306  

用户:root(spaceon)

3,需部署的数据库:school

4,主机配置:

进入mysql安装目录,找到配置文件my.ini;

编辑my.ini文件:

[mysqld]

port=3307

# Server Id.

server-id=9550

binlog-do-db=school

log-bin=mysql-log

配置结束后重启master的mysql服务。通过mysql的“MySQL5.7 Command Line Client-Unicode”命令窗口给要连接的从服务器设置权限 :

grant replication slave,reload,super on *.* to root@192.168.1.27 identified by 'spaceon';

*ps: 给从机192.168.2.35添加权限,用户名:root,密码:spaceon

输入命令 show master status; 找到File 和 Position 的值记录下来;

5,从机配置:

1.进入mysql安装目录下:打开my.ini文件

2.编辑my.ini文件:

[mysqld]

port=3306

# Server Id.

server-id=9542(与主机不同即可)

replicate-do-db=school

在从机上测试能否登录主机数据库(可通过Navicat测试),成功后退出主机数据库。修改对主数据库的连接的参数:

change master to master_host='192.168.1.33',master_port=3307,master_user='root',master_password='spaceon', master_log_file='mysql-log.000003',master_log_pos=463;

ps: master_log_file和master_log_pos的值分别为之前在主机运行show master status时记录下的File和Position的结果

如果报错误,说slave线程正在运行,不能设置,这样的话,执行mysql>stop slave; 停止slave线程,然后再设置连接的参数;

设置完之后,执行 mysql> start slave; 开启slave线程;执行mysql> show slave status\G (没有分号),查看以下两项,均为YES则成功。

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

 

(二)windows系统下mysql双向同步复制(互为主从)

1,再次修改服务器一的mysql的配置文件(my.ini)

[mysqld]

# for rep1

server-id=9550

log-bin=mysql-bin

2,再次修改服务器二的mysql的配置文件(my.ini)

[mysqld]

# for rep1

server-id=9542

log-bin=mysql-bin

3,配置双向主从复制:

(1)主库:192.168.1.27  从库:192.168.1.33

1,指定服务器二mysql为服务器一mysql的主库(在服务器二mysql中为服务器一mysql设置权限):

grant replication slave,reload,super on *.* to root@'192.168.1.33' identified by 'spaceon';

2,查询服务器二mysql当前状态,并记录file和position的值:

Show master status;

3, 停止服务器一mysql的slave:

Stop slave;

4,服务器一mysql连接服务器二mysql(master_log_file和master_log_pos 值为之前第2步记录的file和position的值,在服务器                    一中输入mysql命令:

change master to master_host='192.168.1.27',master_port=3306,master_user='root',master_password='spaceon',master_log_file='mysql-bin.000001',master_log_pos=455;

5,开启服务器一mysql的slavestart slave;

6, 查看是否连接成功(查看slave_IO_running和slave_sql_running是否为yes,若为yes则连接成功):show slave status;

(2) 主库:192.168.1.33  从库:192.168.1.27

1,指定服务器一mysql为服务器二mysql的主库(在服务器一mysql中为服务器二mysql设置权限):

GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.*  TO root@'192.168.1.27' IDENTIFIED BY 'spaceon';

Reset master;

2, 查询服务器一mysql当前状态,并记录file和position的值:show master status;

3, 停止服务器二mysql的slave:stop slave;

4,服务器二mysql连接服务器一mysql(master_log_file和master_log_pos 值为之前第2步记录的file和position的值,在服务器                    二中输入mysql命令:

 

change master to master_host='192.168.1.33',master_port=3307,master_user='root',master_password='spaceon', master_log_file='mysql-log.000003',master_log_pos=463;

5,开启服务器二mysql的slave:start slave;

6,查看是否连接成功(查看slave_IO_running和slave_sql_running是否为yes,若为yes则连接成功):show slave status;

最后可通过Navicat验证数据库双向主从复制功能。

 

 

 

 

 

 

 

 

 

 

 

 

Windows系统环境下创建mysql主从数据库方法(双向主从复制)的更多相关文章

  1. windows环境下搭建mysql主从

    参考 windows环境下mysql主从配置 1. 环境 参数 说明 主库所在的操作系统 win7 主库的版本 mysql-5.6.46-winx64 主库的ip地址 127.0.0.1 主库的端口 ...

  2. MacOS使用Docker创建MySQL主从数据库

    一.拉取MySQL镜像 通过终端获取最新的MySQL镜像 docker pull mysql/mysql-server 二.创建MySQL数据库容器配置文件对应目录 我们在当前用户下创建一组目录,用来 ...

  3. Windows环境下部署MySQL主从并模拟升级到8.0

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 一.部署实例 1.下载2个软件 http://ftp.kaist.ac.kr/mysql/Downloads/MySQL- ...

  4. Windows系统下安装MySQL 8.0.11数据库

    MySQL数据库是常用的数据库之一,而且该数据库开源免费,所以很多公司在使用.本文记录如何在Windows系统下安装MySQL数据库,本次安装的版本号为8.0.11,这个版本是当前的最新版本,据宣传, ...

  5. linux下搭建mysql主从

    在master上创建repl账户,用于复制. grant replication slave on *.* to 'repl'@'%' identified by 'P@$$W0rd'; flush ...

  6. windows 系统本地做mysql 主从同步,最后面解决主从同步库名不一致,表结构一致

    原文:windows 系统本地做mysql 主从同步,最后面解决主从同步库名不一致,表结构一致 mysql主从同步的好处以及原理       之前看到很多新闻说某某的服务器奔溃,磁盘碎了,导致数据丢失 ...

  7. 搭建windows环境下(nginx+mysql+php)开发环境

    搭建windows环境下(nginx+mysql+php)开发环境   1. 所需准备应用程序包        1.1 nginx 程序包nginx-1.0.4.zip或其他版本(下载地址: http ...

  8. Linux下的MySQL主从同步

    网上一些关于Linux下的MySQL主从同步教程非常之多,有些很简单的配置却弄的非常复杂,有些根本无法配通,下面是我通过简单的配置完成的主从同步过程,大家可以参考,此文章更适用于新手. 一.测试环境: ...

  9. windows环境下创建 .文件夹

    一.windows环境下创建 .文件夹 1.新建一个文件夹 2.重命名为.properties.(名字前后都加点) 二.windows环境下创建 .文件 1.上面的方法对文件同样适用 2.运行CMD, ...

随机推荐

  1. 2019年Python数据挖掘就业前景前瞻

    Python语言的崛起让大家对web.爬虫.数据分析.数据挖掘等十分感兴趣.数据挖掘就业前景怎么样?关于这个问题的回答,大家首先要知道什么是数据挖掘.所谓数据挖掘就是指从数据库的大量数据中揭示出隐含的 ...

  2. php数组函数有哪些操作?php数组函数的应用

    PHP 的数组是一种很强大的数据类型,与此同时 PHP 内置了一系列与数组相关的函数可以很轻易的实现日常开发的功能.但是我发现好像很多小伙伴都忽略了内置函数的作用(比如我自己就编写过一些有关数组操作的 ...

  3. atom编辑器使用“apm install”无法响应的解决方案

    工具:shadowsocks 利用ss建立代理服务,之后apm --help,得到apm的配置命令: apm - Atom Package Manager powered by https://ato ...

  4. SAS DATA步读取数据

    上面一节讲了SAS的基本概念,以及语法结构,这次主要讲解SAS DATA步读取数据.    1 ·列表输入    2 ·按列输入    3 ·格式化输入  使用DATA步读取数据的基本形式如下: DA ...

  5. 中标麒麟(linux)下Qt调用python

    转自:https://blog.csdn.net/lwlgzy/article/details/83857297 http://www.cnblogs.com/jiaping/p/6321859.ht ...

  6. python模块:random

    """Random variable generators. integers -------- uniform within range sequences ----- ...

  7. STARTTLS is required but host does not support STARTTLS

    Spring boot 邮件系统的错误,需要修改配置的文件yml.如果是企业邮箱的话就需要进行这个配置: spring: mail: host: mail.ccds.com username: inf ...

  8. Codeforces Round #486 (Div. 3) A. Diverse Team

    Codeforces Round #486 (Div. 3) A. Diverse Team 题目连接: http://codeforces.com/contest/988/problem/A Des ...

  9. 深入理解linux关闭文件和删除文件

    背景介绍 最近看了linux系统编程(linux system programming)一书,结合深入理解linux内核(understanding the linux kernel)一书,深入理解了 ...

  10. git cmd 命令在已有的仓库重新添加新的文件夹

    正确步骤: 1. git init //初始化仓库 git add .(文件name) //添加文件到本地仓库 git commit -m “first commit” //添加文件描述信息 git ...