🥪 系统安装了多个版本的MySQL数据库,每个MySQL实例都需要使用不同的端口,并确保都有自己的数据目录和配置文件。
1 问题描述
- 问题描述
- Win10系统本地分别装有MySQL数据库三个(不同版本),使用了端口3309、3310、3311。
- 现在默认开启3309(MySQL官网下载安装默认)、3310(禅道)以及3311端口(JForum论坛)。
- 3310数据库通过ZenTao管理,3311数据库通过XAMPP管理,3309数据库命令登录时报错。
1 2 3
| > mysql -uroot -p Enter password: ****** ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost:3309' (10061)
|
2 原因分析
- 原因分析
- 使用命令检查一下MySQL服务是否正常运行:
sc query MySQL3309
。
- 显示内容说明不存在MySQL3309服务,若要使用需启动实例指定端口。
1 2 3 4
| > sc query MySQL3309 [SC] EnumQueryServicesStatus:OpenService FAILED 1060:
The specified service does not exist as an installed service.
|
3 解决方法
- 解决方法
- 使用命令启动一个临时的MySQL实例,并且指定3309端口。
- 永久启动服务的方法:启动服务后用户可自行关闭命令窗口。
- 管理员模式下打开命令窗口,以服务方式启动MySQL实例。
- 安装MySQL3309服务并指定端口后,通过命令启动该服务。
3-1 临时启动
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <!-- 出现了一些警告和错误信息,但MySQL服务已经启动,不影响正常连接到3309数据库 --> > mysqld --console --port=3309 mysqld: Can't open shared library '...\component_reference_cache.dll' (errno: 126 找不到指定的模块。) mysqld: Cannot load component from specified URN: 'file://component_reference_cache'. 2024-03-07T03:29:30.901507Z 0 [Warning] [MY-010918] [Server] ... use authentication_policy instead. 2024-03-07T03:29:30.901542Z 0 [System] [MY-010116] [Server] ... starting as process 12044 2024-03-07T03:29:30.902373Z 0 [ERROR] [MY-010338] [Server] ... 'lc-messages-dir' configuration directive. 2024-03-07T03:29:30.915917Z 0 [Warning] [MY-013242] [Server] ... using UTF8MB4 in order to be unambiguous. 2024-03-07T03:29:30.966490Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. 2024-03-07T03:29:31.514097Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended. 2024-03-07T03:29:31.859777Z 0 [Warning] [MY-013829] [Server] ... expressions: ...\lib\private\. 2024-03-07T03:29:31.906995Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed. 2024-03-07T03:29:31.907154Z 0 [System] [MY-013602] [Server] ... are now supported for this channel. 2024-03-07T03:29:31.970244Z 0 [System] [MY-011323] [Server] ... Bind-address: '::' port: 33060 2024-03-07T03:29:31.970286Z 0 [System] [MY-010931] [Server] ... port: 3309 MySQL Community Server - GPL.
|
3-2 永久启动
1 2 3 4 5 6 7 8 9 10 11 12
| > mysqld --install MySQL3309 --port=3309 <!-- 出现该提示信息,说明未使用管理员模式打开命令窗口 --> Install/Remove of the Service Denied!
> mysqld --install MySQL3309 --port=3309 <!-- 成功安装MySQL3309服务,并指定3309端口的提示信息 --> Service successfully installed.
<!-- 成功安装并指定端口后,通过命令启动MySQL3309服务 --> > net start MySQL3309 The MySQL3309 service is starting. The MySQL3309 service was started successfully.
|
4 卸载服务
1 2 3 4 5 6 7 8
| <!-- 卸载前需要先停止服务 --> > net stop MySQL3309 The MySQL3309 service is stopping. The MySQL3309 service was stopped successfully.
<!-- 然后通过命令卸载服务 --> > mysqld --remove MySQL3309 Service successfully removed.
|