You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

MySQL版本混淆问题:如何同时保留WampServer与MySQL 5.6?

同时保留WampServer与MySQL 5.6,或恢复原有状态的解决方案

首先,先解释下你遇到的版本显示矛盾问题:mysql --version显示5.6,但SELECT VERSION()返回5.7,是因为系统环境变量里优先指向了MySQL 5.6的bin目录,所以cmd里调用mysql命令时默认用的是5.6的客户端,但此时3306端口跑的是Wamp的MySQL 5.7服务,所以连接后查询到的是服务端版本5.7。where mysql返回5.6的路径也验证了这一点——环境变量里5.6的路径排在Wamp的MySQL路径前面。


一、如何同时保留WampServer和MySQL 5.6?

当然可以!核心是让两个MySQL服务使用不同端口,再配置好对应的连接方式就行,步骤如下:

1. 把Wamp的MySQL端口改回3308

  • 打开WampManager,找到MySQL -> my.ini(路径一般是C:\wamp64\bin\mysql\mysql5.7.19\my.ini,根据你的Wamp安装路径调整)
  • 找到port=3306这一行,改成port=3308
  • 确认bind-address=127.0.0.1(限制本地访问,更安全)
  • 保存配置后,右键WampManager里的MySQL,选择Restart Service重启服务

2. 确保原有MySQL 5.6服务正常运行

  • 按Win+R输入services.msc打开Windows服务列表
  • 找到你的MySQL 5.6服务(一般叫MySQL56),确认它处于运行状态,启动类型设为自动
  • 可以打开5.6的my.ini(路径C:\Program Files\MySQL\MySQL Server 5.6\my.ini),检查port=3306是否正确

3. 解决cmd中使用两个MySQL的问题

现在两个服务都在运行,你需要指定端口来连接对应的版本:

  • 连接MySQL 5.6(Tomcat用的版本):直接用mysql -u root -p(默认端口3306,也可以显式加-P 3306
  • 连接Wamp的MySQL 5.7:用mysql -u root -P 3308 -p(Wamp的MySQL默认root密码为空,直接回车即可)

如果想让mysql命令默认指向5.6(符合你原来的习惯),保持当前环境变量不变就好;如果偶尔需要快速调用5.7的客户端,也可以直接用全路径:C:\wamp64\bin\mysql\mysql5.7.19\bin\mysql.exe -u root -P 3308 -p

4. 确保Tomcat Java应用继续用MySQL 5.6

修改你Java项目的数据库连接配置(比如application.propertiesdb.properties这类文件),确保连接URL是:

jdbc:mysql://localhost:3306/你的数据库名?useSSL=false&serverTimezone=UTC

(参数根据你的JDBC驱动版本调整,比如旧版本可能不需要serverTimezone
这样Tomcat应用就会一直连接5.6,完全不受Wamp的5.7影响。


二、如果不想保留Wamp,如何恢复原有状态?

如果最终还是想回到只有MySQL 5.6的状态,按以下步骤操作:

1. 彻底卸载WampServer

  • 打开控制面板的程序和功能,找到WampServer,点击卸载
  • 卸载完成后,手动删除Wamp的安装目录(比如C:\wamp64
  • 回到Windows服务列表,确认Wamp的MySQL服务(一般叫wampmysqld64)已经被移除;如果还在,右键停止它,然后用管理员cmd执行sc delete wampmysqld64删除服务

2. 修复MySQL 5.6的使用问题

之前卸载Wamp后无法用mysql,大概率是卸载过程中影响了环境变量或服务注册:

  • 检查系统环境变量的Path:确保C:\Program Files\MySQL\MySQL Server 5.6\bin在Path里,如果不在,添加进去
  • 用管理员权限打开cmd,进入C:\Program Files\MySQL\MySQL Server 5.6\bin目录,执行mysqld --install MySQL56重新注册服务
  • 执行net start MySQL56启动服务
  • 测试:执行mysql --version应该显示5.6.26,连接后执行SELECT VERSION()也会返回5.6.26,恢复到原来的状态

三、额外提醒

  • 定期备份两个MySQL的数据库:
    • 备份5.6:mysqldump -u root -p 你的数据库名 > 56_backup.sql
    • 备份5.7:mysqldump -u root -P 3308 -p 你的数据库名 > 57_backup.sql
  • 不要随意修改两个MySQL的端口,避免端口冲突;如果遇到服务启动失败,可以用netstat -ano | findstr :3306netstat -ano | findstr :3308检查端口是否被占用
  • Wamp的Apache服务和Tomcat的Apache服务如果端口都是80的话,也会冲突,记得把其中一个的端口改掉(比如Wamp的Apache改8080)

内容的提问来源于stack exchange,提问作者mohdhamm

火山引擎 最新活动