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节点是否删除。
按照上面作的时候发现了会出现“MySQL-5.7.20 服务无法启动-“NET HELPMSG 3534””,关于这个问题的解决方案如下(删除安装目录中的data目录,即使数据目录在"D:\ProgramData\MySQL"中(win10版本)):
提示:
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,输入:
- net start mysql
- ”MySQL 服务无法启动,服务没有报告任何错误,请键入 NET HELPMSG 3534 以获得更多的帮助。”
查了下,在当前目录下输入:
- mysqld --initialize
还是出错,又查了下,原因是:
mysqld --initialize-insecure自动生成无密码的root用户,mysqld --initialize自动生成带随机密码的root用户。data文件夹不为空是不能执行这个命令的。
解决办法:
- 先删除data目录下的所有文件或者移走。
MySQL服务成功启动.
参考自:http://bbs.csdn.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>