Windows单机环境下配置MySQL多实例

在Windows环境下一般来说只会跑一个MySQL服务,但是如果作为测试环境,在主机数量有限的情况下,又想玩一下分布式和集群的技术,则可以在一台主机上搭建多个服务。

如果要搭建多个服务,其实本质上只需要修改两部分:

  • 服务运行的端口;
  • 服务运行所需要的数据库文件;

在安装完第一个MySQL服务之后,将my.ini重新复制一份放到和当前服务my.ini相同的目录,修改如下部分为:

[client]
port=3307

[mysqld]
port=3307
datadir=C:/ProgramData/MySQL/MySQL Server 5.7\Data2

只修改了端口和数据库文件的位置,数据库文件要新复制一份到新的目录,比如在MySQL的主目录,如下图的所示:

然后将该修改之后的文件和配置注册为Windows的服务,如下“

mysqld --install MySQL572 --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my2.ini"

注意此命令需要在管理员权限下运行。

值得注意的是在Windows环境下,MySQL的配置文件默认在C:\ProgramData\MySQL\MySQL Server 5.7\my.ini,通过服务运行的命令"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" MySQL57即可明白,所以在上边我们的另外一个服务的配置文件也放到了该目录下

新建立的服务的默认的内置账户是Local System,但是这样的权限实在是太大了,需要将它改成Network Serivce,无密码,来保证服务器的安全,修改如下:

常见问题:

  1. 新建立的服务无法远程连接:需要打开3307端口,使远程客户端能够访问;
  2. 在远程不能使用root用户访问,需要在服务器的mysql.user表中修改对应root的host值,但是不建议这样,在远程访问最好还是新建立一个用户,关于MySQL的用户管理之后会具体总结一下;

相关文章:

  • 内置系统账户:Local system/Network service/Local Service 区别
  • mysqld命令行选项

你可能感兴趣的:(MySQL)