Windows下MySQL多实例运行(转)

时间:2023-03-09 02:18:03
Windows下MySQL多实例运行(转)
关键字:Windows下MySQL多实例运行



阅读前注意事项:

1、有的版本的data目录不直接放在mysql安装目录下,有可能在:C:\ProgramData\MySQL\MySQL Server 5.1\data(不管路径在哪里 指定正确的路径即可)

2、操作步骤:复制MySQL安装目录-->修改my.ini中的端口2处、安装目录和数据目录---->命令安装MySQL windows服务--->修改注册表---->启动新实例的window服务---->正常使用

正文篇:

    1.正常安装Windows版的MySQL,例如安装在d:\MySQL文件夹里;

    2.按照常规配置好MySQL;

    3.复制备份安装好的文件夹,命名为“MySQL_3307"; 删除 data目录下的文件其他文件夹,只剩 test和mysql文件夹;

    4.修改“d:\MySQL_3307" 下的my.ini 端口为3307

    Java代码 

    [client] 

    port=3307 

    [mysqld] 

    # The TCP/IP Port the MySQL Server will listen on 

    port=3307 

    

    程序路径改为 d:/MySQL_3307

    

    Java代码 

    [mysqld]  

    # The TCP/IP Port the MySQL Server will listen on  

    port=3307  

    #Path to installation directory. All paths are usually resolved relative to this.  

    basedir="d:/MySQL_3307"  

    #Path to the database root  

    datadir="d:/MySQL_3307/Data/"  

    

    5.管理员身份在cmd命令行模式下,进入第2个MySQL_3307的\bin文件夹。

    执行mysqld install MySQL_3307命令。作用是为Mysql安装一个服务,服务名是MySQL_3307,

注意:mysqld install MySQL_3307命令必须以管理员身份才能执行成功

    6.完毕后,在运行里运行REGEDIT,打开WINDOWS注册表编辑器,

    在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL_3307打开,

    修改下面的ImagePath数值: "D:\MySQL_3307\bin\mysqld" --defaults-file="D:\MySQL_3307\my.ini" MySQL_3307

    确定,退出注册表编辑器。

    7.然后就可以在服务管理里正常启动MySQL_3307服务。

    

    注:若想重命名mysql服务名称,

    1.进入services.msc关闭MySQL服务

    2.C:\>sc delete MySQL “MySQL”为服务名称

    3.重复上面的第6、7步即可

    删除服务后,进入到注册表里,看旧的mysql节点是否删除。

2017-12-29更新


按照上面作的时候发现了会出现“MySQL-5.7.20 服务无法启动-“NET HELPMSG 3534””,关于这个问题的解决方案如下(删除安装目录中的data目录,即使数据目录在"D:\ProgramData\MySQL"中(win10版本)):

安装过程参考自:MySQL 5.6 for Windows 解压缩版配置安装

成功安装以后,启动MySQL,输入:

  1. net start mysql
net start mysql

提示:

  1. ”MySQL 服务无法启动,服务没有报告任何错误,请键入 NET HELPMSG 3534 以获得更多的帮助。”
”MySQL 服务无法启动,服务没有报告任何错误,请键入 NET HELPMSG 3534 以获得更多的帮助。”

查了下,在当前目录下输入:

  1. mysqld  --initialize
mysqld  --initialize

还是出错,又查了下,原因是:

mysqld --initialize-insecure自动生成无密码的root用户,mysqld --initialize自动生成带随机密码的root用户。data文件夹不为空是不能执行这个命令的。

解决办法:

  1. 先删除data目录下的所有文件或者移走。
先删除data目录下的所有文件或者移走。

Windows下MySQL多实例运行(转)

MySQL服务成功启动.

Windows下MySQL多实例运行(转)

参考自:http://bbs.****.net/topics/391851148 的20楼和30楼。

总之,终于解决了~其实就是那个data文件夹的问题!我下载的是5.7绿色版的,解压之后没有data,导致一直启动不了,解决办法如下:</br>
不要自己创建data文件夹。在cmd安装好MySQL之后,先不要启动,输入mysqld --initialize 进行初始化(注意是两个“-”符号)然后就会发现目录下多了一个data文件夹,里面有很多文件。这就OK了</br>
,配置好my.ini之后输入net start mysql会发现已经可以启动了。</br>
Tip:总结一下Mysql的安装步骤</br>免安装版本(实际可以采用两个免安装版本的),一般的正确的安装顺序如下:</br>
mysqld install(这个命令用来安装服务,后面跟服务名称)</br>
mysqld --initialize (自动生成带随机密码的root用户)</br>
mysqld –initialize-insecure(自动生成无密码的root用户)</br>
net start mysql(启动服务)</br>