Windows上的MySQL多实例配置

一般而言,一台机器上运行一个数据库管理系统(这里是MySQL)实例,即可应付大多数使用场景。如果要在一台机器上配置多个MySQL实例,那也不难。方式非常灵活,即可以进行多个安装(相同版本或不同版本),也可以一个安装配置多个实例(只能是一个版本)。

下面我演示第二种方法。

前提

首先要清楚,对于每个MySQL实例,至少要有其本身的选项文件、数据目录、mysql系统数据库和网络端口。

新的实例命名为MySQL1。

第一步:新建数据目录,复制mysql数据库

为新的实例建立一个数据目录(如C:\Web\MySQL\Data1),将原有实例中的系统数据库mysql对应的文件夹(C:\Web\MySQL\Data\mysql)复制进来。

第二步:复制选项文件,修改选项

将原有实例的选项文件(C:\Web\MySQL\MySQL Server 5.5\my.ini)复制一份,命名为my1.ini,放在C:\Web\MySQL\MySQL Server 5.5目录下。

修改新的选项文件(C:\Web\MySQL\MySQL Server 5.5\my1.ini),修改[mysqld]选项组下的两个选项:将port的值改为3307,datadir的值改为”C:/Web/MySQL/Data1/”。

第三步:测试新实例配置

打开命令行,运行命令:”C:\Web\MySQL\MySQL Server 5.5\bin\mysqld” –defaults-file=”C:\Web\MySQL\MySQL Server 5.5\my1.ini”。以这种方式运行新实例,该命令行窗口会阻塞,直到该实例停止运行。

新开一个命令行,通过mysql客户端连接新实例。有两点要注意:其一,新实例的端口不是默认的3306,因此要明确指定;其二,新实例的系统数据库mysql直接来自于旧实例,因此要用旧实例的用户名和密码作为登录凭证。

上图显示,新实例已成功运行。

接下来,我们先通过mysqladmin工具的shutdown命令终止这个实例的运行。

第四步:将新实例安装为Windows服务

上面第三步的只是测试新实例,以确保其配置得当。下面是将该实例安装为Windows服务的步骤。

首先,通过任务管理器停止现有实例的运行。

以管理员身份打开命令行,输入命令:”C:\Web\MySQL\MySQL Server 5.5\bin\mysqld” –install MySQL1 –defaults-file=”C:\Web\MySQL\MySQL Server 5.5\my1.ini”。

上图显示,MySQL1这个服务成功安装。

进入到任务管理器的服务选项卡,即可看到新实例对应的服务(名为MySQL1),以及旧实例对应的服务(名为MySQL)。

通过Windows的方式,可以方便地管理多个MySQL实例。

需要注意,安装Windows服务的命令中,默认选项文件的路径一定要写完整,否则会出现服务一直处于启动状态的问题。

删除新实例

如果已不需要新的实例,可以将其删除。

以管理员身份打开命令行,运行:sc delete MySQL1。