WINDOWS下配置MYSQL多实例和主备同步

前言

在自己机器上完mycat,准备玩点高级的,所以先要在同一个windows下安装多个实例,并设置主备的同步。废话不多说,先一步步安装下来。

安装

本机已经安装了一个mysql,采用的是默认安装。我的版本是5.7。 MYSQL的程序目录是C:Program FilesMySQLMySQL Server 5.7 。配置文件目录是c:/ProgramData/MySQL/MySQL Server 5.7/。下面是安装另一个实例的步骤
1.拷贝程序目录。将C:Program FilesMySQLMySQL Server 5.7 拷贝至E:AnotherMySql2MySQL Server 5.7
2.拷贝配置文件,将c:/ProgramData/MySQL/MySQL Server 5.7/下的my.ini 拷贝至*E:AnotherMySql2MySQL Server 5.7*,并在目录下新建data目录
3.配置新实例的my.ini 。主要是端口和目录。

[client]
# pipe
# socket=0.0
port=3308
# The TCP/IP Port the MySQL Server will listen on
port=3308
# Path to installation directory. All paths are usually resolved relative to this.
basedir="E:\AnotherMysql2\MySQL Server 5.7\"
# Path to the database root
datadir=E:\AnotherMysql2\MySQL Server 5.7\data
server-id=10

4.打开CMD,在新的实例目录bin下运行
注册服务:mysqld install MySQL4 --defaults-file="E:AnotherMysql2MySQL Server 5.7my.ini"
执行net start MySQL。如果失败就先清空data目录,再执行mysqld --initialize-insecure --user=MySQL4
再试试启动。

主备同步

Master上的配置my.ini

[mysqld]
 log-bin=mysql-bin   //[必须]启用二进制日志
 server-id=1         //[必须]服务器唯一ID,默认是1,一般取IP最后一段

Slave上配置my.ini

[mysqld]
 log-bin=mysql-bin   //[不是必须]启用二进制日志
 server-id=2         //[必须]服务器唯一ID,默认是1,一般取IP最后一段

重启主从数据库。登录master,运行一下命令, 表示所有客户端都可能连,只要帐号,密码正确

mysql>GRANT REPLICATION SLAVE ON *.* to 'mysync'@'%' identified by 'q123456';

接着执行show master status,记录file和position。

WINDOWS下配置MYSQL多实例和主备同步

登录slave,运行以下命令,设置该从实例的主服务器,

change master to master_host='127.0.0.1',master_port=3306,master_user='mysync',master_password='q123456',
master_log_file='mysql-bin.000004',master_log_pos=308;

接着运行start slave,启动同步。运行show slave statusG 。 注意Slave_IO_RunningSlave_SQL_Running如果其中之一不是YES,就是同步失败。具体错误可以从Last_SQL_Error中获得。

WINDOWS下配置MYSQL多实例和主备同步

注意:MYSQL只能进行整个数据库实例的同步,新建数据库,新建表,增删改等操作都可以进行同步。

相关推荐