1、为什么要装多个mysql多实例?
关于这个的原因,我目前了解为建立一个主数据库,一个或者多个从库,实现一主多从或者主从复制的目的。
2、设么是mysql的多实例?
MySQL多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307),运行多个MySQL服务进程,通过不同的socket监听不同的服务端口来提供各自的服务:;
2、如何简单安装多实例?
利用图形界面安装mysql,安装成功后,会因为各种环境问题导致各种问题报错,这里我们采用一种简单的方式,即利用mysql绿色版,免安装程序,通过修改配置文件来进行mysql多个服务进程的设置。
关于免安装版可以参考此博文:http://www.cnblogs.com/niuniutry/p/3555778.html
具体我们看下今天的配置过程:
首先找到下载好的源文件夹
打开后:
我们将此mysql设置为端口为3380:
进入3380logs目录下将所有文件删除:记住是所有log文件。
进入3380data目录,将所有的log文件删除(注意不是所有文件哦!)
找到data中的my.ini文件,打开 my.ini 文件,将所有的 找到所有的port都改为3380
修改serverid为80,这个可以随便设置,只要多个mysql实例的serverid不同即可。
进入windows下的dos窗口,打开cmd,进入C:mysql-5.63381in(自己存放文件的目录)目录,执行如下命令:
.mysqld.exe install MySQL-3381 --defaults-file="C:mysql-5.63381datamy.ini" 注意改为自己的配置文件路径
进入服务进程查看mysql的启动:设置为启动状态
备注:如有需要删除服务执行如下命名即可:
.mysqld.exe remove MySQL-3380
这样一个mysql实例就配置完成了,接下来的实例配置,就是复制文件夹3380,修改名为3381,按照上面的步骤,修改后就可以得到3381的mysql实例。
这样就可以在电脑上配置多实例了。
注意问题:
这样通过复制配置的多实例,有个问题,当我们在进行主从复制配置的 时候会报错,提示mysql的UUID是一样的,的确因为我们是直接copy过来的,所以mysql的id是一致的,问题解决:
找到autu.cnf
然后修改UUID不一样即可.
随便改个字母或者数字即可.