2024.05.25 MySQL5.6.51 亲测
该教程理论上适用于5.5.x、5.6.x、5.7.x,
8.0+版本可能不适用,请谨慎自测其他版本。
有太多坑了,自己踩的。
零、前情提要(需求)
本机是MySQL5.5(3306端口)现在要新增MySQL5.6(3307端口)与其共存。
一、准备工具
官网下载MySQL5.6最后一个版本为:MySQL5.6.51
个人建议(猜测,大佬评论区指正):使用配置免安装版,而非MSI或EXE安装版,因为直接安装可能会对之前版本有意料之外的情况,不知道官方MSI安装会不会提示已经安装过一个版本而退出安装?
官网下载地址:https://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.51-winx64.zip
二、删除之前的Path中的MySql变量(若有)
这一步是自己踩出来的,可能不太准确,猜测,大佬评论区指正。
任何数据操作都要记得记得备份。
任何数据操作都要记得记得备份。
任何数据操作都要记得记得备份。
三、解压MySQL5.6.51并配置My.ini
解压完毕后,复制一份 my-default.ini 更名为 my.ini。
其中:
[mysqld]
# --- 作者省略 ---
# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
3.1 正确步骤改为:(这一步很重要,请按照我说的做)
路径根据自己需要修改!端口不能和另一个版本相同,这里为3307。
# These are commonly set, remove the # and set as required.
basedir=C:\Program Files\MySQL\MySQL Server 5.6.51
datadir = C:\Program Files\MySQL\MySQL Server 5.6.51\data
port = 3307
# server_id = .....
3.2 翻车教程:
# The TCP/IP Port the MySQL Server will listen on
port=3306
#Path to installation directory. All paths are usually resolved relative to this.
basedir="C:/Program Files/MySQL/MySQL Server 5.5/"
#Path to the database root
datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"
请留意3.1和3.2的不同
因为我看了一下之前5.5.x版本的dir,先按照官方3.2进行改的,留意 路径 / 和 \ 的区别。
3.1是Windows下的标准路径
3.2的路径是由MSI或者EXE直接安装生成的。
百度上,90%的案例都是要求你选择3.1的方法进行填写路径,因为这样在注册Windows服务下可以直接成功。
但是!!!!这是在单个MySQL的情况下的,共存不能这样写!
因为在写入服务后,共存版服务启动后几秒又停止!!(可能我没写对???)
——》因此请按照3.1写法填写自己的正确路径。
四、注册Windows MySQL服务
使用Cmd进入你的MySQL5.6.51的 Bin 路径,本文如下:
cd C:\Program Files\MySQL\MySQL Server 5.6.51\Bin
PS:如果你在D盘,请这样。
D:
cd D:\MySQL\MySQL Server 5.6.51\Bin
使用 mysqld.exe --install MySQL56 创建Mysql56服务
mysqld.exe --install MySQL56
此时在Windows服务里能发现:
(打开任务管理器——》标签页——》服务——》下拉找到MySQL56)
打开左下角打开服务
检查路径是不是共存版的路径
如果是(直接跳过不是的情况)
直接 右键启动MySQL56服务即可,如果还是停止状态下,请按照不是处理。
或使用cmd
net start MySQL56
如果不是
打开注册表编辑器 regedit
找到:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services
中找到。找到您要MySQL56服务,找到 ImagePath
子项并更改该值为:
"C:\Program Files\MySQL\MySQL Server 5.6.51\bin\mysqld" --defaults-file="C:\Program Files\MySQL\MySQL Server 5.6.51\my.ini" MySQL56
右键服务启动MySQL56服务即可,如果还是停止状态下,请按照不是处理。
五、其他事项
现在你已经成功安装了MySQL。
可能会遇到我遇到的下列情况(踩坑实际)
5.1 ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
错误的提示中可以看出MySQL服务没有启动,因此只需要启动MySQL服务就可以了。
5.2 若因为没有删除Path里的原来MySQL,导致共存服务路径错误
使用cmd sc delete 服务名称 删除错误的MySQL57服务,之后重复步骤四。
sc delete MySqL56
PS:执行成功后,「服务」会被立即删除,不用重启。
如果删除不了,请重启后重新删除或者不重启在任务管理器强杀Mysqld进程。
5.3 ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)
用 5.4 这条登录,否则怎么都是连5.5,端口换成你的端口
5.4 3307要怎么连接
mysql -u root -p --protocol=tcp --host=localhost --port=3307