Windows创建MySQL多实例

安装MYSQL和实例1

  1. 运行mysql-installer-community-5.7.16.0.msi
  2. 选择组件
    1. MySQL Server 5.7.16 – X64
    2. MySQL Utilities 1.6.4 – X64
    3. MySQL Workbench 6.3.7 – X64
    4. 执行安装
    5. 配置端口3306
    6. Windows Service Name设置为MYSQL

复制实例

  1. 将C:\ProgramData\MySQL\MySQL拷贝为MYSQL1和MYSQL2文件夹
  2. 修改各文件夹中的my.ini
    1. 配置my.ini的端口号MYSQL1为3306、MYSQL2为3307
    2. 配置my.ini中的路径为MYSQL1和MYSQL2对应路径
    3. 创建服务
      1. mysqld -install mysql1 --defaults-file="C:\ProgramData\MySQL\MySQL1\my.ini"
      2. mysqld -install mysql2 --defaults-file="C:\ProgramData\MySQL\MySQL2\my.ini"
      3. 启动服务
        1. net start mysql1
        2. net start mysql2

MySQL Master/Slave配置

主从机上使用相同的usr账户和密码并同时赋予REPLICATION SLAVE和REPLICATION CLIENT权限,前者用于数据同步,后者用于监视SLAVE同步状况:

GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO usr@'192.168.0.%' IDENTIFIED BY 'pwd';

将主服务器数据dump/export,然后在从数据中import/restore。如果使用Workbench的export和import功能注意import的时候存储过程和方法因为不包含任何Scheme操作或被忽略,需要手动执行对应sql文件以进行创建。

然后执行同步:

C:\Program Files\MySQL\MySQL Server\bin>mysqlreplicate --master=usr:pwd@192.168.0.1 --slave=user:pwd@192.168.0.2 --rpl-user=usr:pwd

错误及解决办法

  1. ERROR: The slave’s server_id is the same as the master.

将主服务器的my.ini配置中Server_id=1修改Server_id=2

  1. ERROR: Master must have binary logging turned on.

在从服务器的my.ini配置中启用二进制日志

# Binary Logging.

# log-bin

log-bin=mysql-bin

  1. ERROR: The slave’s UUID is the same as the master.

在从服务器数据文件夹Data中修改auto.cnf文件中的server-uuid

[auto]

server-uuid=b1a3dd23-edc7-11e6-81b8-480fcf275eaf

MySQL忘记root密码

  1. 在my.ini配置文件[mysqld]下增加skip-grant-tables并重启MySQL服务
  2. 执行如下sql

use mysql;

update MySQL.user set authentication_string=password('rootpassword') where user='root' ;

  1. 将my.ini配置文件中的skip-grant-tables注释或删除并重启MySQL服务

Windows下MySQL多实例安装/主从复制/重置密码的更多相关文章

  1. windows下mysql多实例安装

    在学习和开发过程中有时候会用到多个MySQL数据库,比如Master-Slave集群.分库分表,开发阶段在一台机器上安装多个MySQL实例就显得方便不少. 在 MySQL教程-基础篇-1.1-Wind ...

  2. Mysql多实例安装+主从复制+读写分离 -学习笔记

    Mysql多实例安装+主从复制+读写分离 -学习笔记 .embody{ padding:10px 10px 10px; margin:0 -20px; border-bottom:solid 1px ...

  3. Windows下MySQL多实例运行(转)

    关键字:Windows下MySQL多实例运行 阅读前注意事项: 1.有的版本的data目录不直接放在mysql安装目录下,有可能在:C:\ProgramData\MySQL\MySQL Server ...

  4. linux下mysql多实例安装

    1.MySQL多实例介绍 1.1.什么是MySQL多实例 MySQL多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307),运行多个MySQL服务进程,通过不同的socket监听不同的 ...

  5. (转)Windows下MySQL :GUI安装和使用(MySQL GUI tools)

    原文:http://blog.csdn.net/dahunbi/article/details/52970815 MySQL GUI Tools是MySQL官方提供的图形化管理工具,功能很强大,值得推 ...

  6. linux下mysql多实例安装(转)

    转自:http://www.cnblogs.com/xuchenliang/p/6843990.html   1.MySQL多实例介绍 1.1.什么是MySQL多实例 MySQL多实例就是在一台机器上 ...

  7. Windows下MySQL绿色版安装配置与使用

    Mysql-5.7.11-winx64操作步骤: 一.安装MySQL数据库 1.下载. 下载地址: http://downloads.mysql.com/archives/get/file/mysql ...

  8. Windows下MySQL多实例运行

    1.正常安装Windows版的MySQL,例如安装在C:\Program Files\MySQL文件夹里: 2.按照常规配置好MySQL: (注:5.6版本的 data文件夹与 my.ini文件在C: ...

  9. centos下mysql多实例安装3306、3307实例(2014-10-15)

    背景说明       mysql的安装方法有多种,如二进制安装.源代码编译安装.yum安装等.yum安装仅仅能安装mysql 5.1 版本号:源代码安装编译的过程比較长.若没有对源代码进行改动且要求使 ...

随机推荐

  1. (简单) POJ 3074 Sudoku, DLX+精确覆盖。

    Description In the game of Sudoku, you are given a large 9 × 9 grid divided into smaller 3 × 3 subgr ...

  2. Javascript Fromdata 与jQuery 实现Ajax文件上传

    <!DOCTYPE html> <html> <head> <title>ajax</title> <script type=&quo ...

  3. Postman 测试web接口(推荐)

  4. FreeRTOS基础以及UIP之协程--C语言剑走偏锋

    在FreeRTOS中和UIP中,都使用到了一种C语言实现的多任务计数,专业的定义叫做协程(coroutine),顾名思义,这是一种协作的例程, 跟具有操作系统概念的线程不一样,协程是在用户空间利用程序 ...

  5. HUST 1602 Substring

    水题. #include<cstdio> #include<cstring> #include<cmath> #include<string> #inc ...

  6. tools_list

    http://files.cnblogs.com/files/yansc/ExportQingtaoImage.rar

  7. iOS开发中涉及的字体问题

    iOS中常见3种方法来控制字体,下面根据我在网上学习总结的内容发布(已完美避过所有坑,iOS8.4) 一.系统默认的设置字体方法(只对英文和数字生效的方法) 1.系统默认提供的字体主要是指UIFont ...

  8. UVa 357 - Let Me Count The Ways

    题目大意:也是硬币兑换问题,与147.674用同样的方法即可解决. #include <cstdio> #include <cstring> #define MAXN 3000 ...

  9. django学习——url的name

    html中的地址可以用写死的,也可以用生成的,如:<a href="{% url 'app-url' param1 param2 ... %}">link</a& ...

  10. 闭包用法,延迟tab

    var changeTab =( function () { var timeId = 0; return function (tabId) { if (timeId) { clearTimeout( ...