1.问题
由于公司要求使用mysql版本为Mysql5.7,而我之前的项目均是使用Mysql8.0,为了避免卸载重新安装Mysql5.7可能导致的问题,便寻找了可以同时在Windows上安装两个不同版本Mysql的方法
2.解决
参考:windows如何同时安装两个不同版本的Mysql(Mysql8.0+Mysql5.7)
2.1 进入你下载解压后的Mysql安装目录,我这里是 D:\mysql-5.7.24-winx64, 并且创建空文件夹data 和 配置文件 my.ini
2.2 配置my.ini
这里可以将之前你上一个版本的Mysql的该文件复制过来,也可以重新写一个
但一定要注意!!! 由于之前版本的Mysql版本使用的是3306端口,这里我改为使用了 3307 端口
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3307端口
port = 3307
# 设置mysql的安装目录
basedir=D:\mysql-5.7.24-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql-5.7.24-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
2.3 设置环境变量
2.4 关闭原来的mysql服务
2.5 以管理员身份打开黑窗口(CMD),切换到mysql5安装目录的bin目录下执行
2.6 使用mysqld进行初始化操作(这里的路径改为自己的)
mysqld --defaults-file=D:\mysql-5.7.24-winx64\my.ini --initialize --console
注意要记录这里生成的随机初始密码!!!!
这里显示为'[Note] A temporary password is generated for root@localhost: n3fsco#ZdR7T'
2.7 注册服务(服务名可以自由选择),修改注册表
mysqld --install MYSQL5
成功会显示Service successfully installed
win+r,输入regedit,进入注册表页面,输入计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MYSQL5
选择其中的ImagePath项进行修改 "D:\mysql-5.7.24-winx64\bin\mysqld.exe" --defaults-file=D:\mysql-5.7.24-winx64\my.ini MySQL5
以上项根据自己的mysqld.exe和my.ini和服务名进行修改
2.8 启动Mysql5服务
net start Mysql5
若是有错误可以尝试在服务中寻找Mysql5项相关配置或者重启
2.9 通过DOS连接Mysql
遇到了一个小问题,没有指明端口号造成的:ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
mysql -uroot -P3307 -pn3fsco#ZdR7T
这里不是默认3306端口号(之前配置中改为了3307),必须要在这指明,不能省略
2.10 设置兼容
set global show_compatibility_56=on;
show_compatibility_56 是 MySQL 中的一个全局系统变量,用于控制是否启用与 MySQL 5.6 版本兼容的特性。当这个变量被设置为 ON 时,MySQL 会尽可能地启用与 MySQL 5.6 版本兼容的行为,这样可以确保更容易迁移或使用那些依赖于 MySQL 5.6 版本行为的应用程序。
2.11 修改密码
set password for root@localhost = password('xxxxx');
直接设置即可
2.12 尝试使用数据库工具连接
注意这里也要指明端口号为3307!!!