电脑本地安装不同版本MySQL

时间:2023-01-29 12:07:59

本地已经安装了mysql5.7版本,想测试mysql8版本的用法,想在一台电脑同时配置不同版本的mysql在不同端口号,看起来简单,实现起来其实挺多坑的,总结下实战经验和大家分享下

二、配置

1、解压缩,设置my.ini
从原来版本拷贝过来即可,改端口号以及dir

[mysqld]
port=3307
basedir=F:\mysql8\mysql-8.0.31-winx64
datadir=F:\mysql8\mysql-8.0.31-winx64\data
max_connections=200
max_connect_errors=10
character-set-server=utf8
default-storage-engine=INNODB
[mysql]
default-character-set=utf8

2、初始化数据库,生成data目录以及密码

mysqld --defaults-file=F:\mysql8\mysql-8.0.31-winx64\my.ini --initialize --console

电脑本地安装不同版本MySQL
电脑本地安装不同版本MySQL
3、安装MySQL8服务

mysqld install MySQL8 --defaults-file=F:\mysql8\mysql-8.0.31-winx64\my.ini

看到Service successfully installed.说明已经成功,这时候我们可以看到服务多了一个MySQL8
电脑本地安装不同版本MySQL
4、修改注册表ImagePath值
win+r快捷键,然后输入regedit,会发现多了一个MySQL8,修改ImagePath的值为

F:\mysql8\mysql-8.0.31-winx64\bin\mysqld.exe --defaults-file=F:\mysql8\mysql-8.0.31-winx64\my.ini MySQL8

电脑本地安装不同版本MySQL

三、验证

1、启动服务

net start mysql8

PS F:\mysql8\mysql-8.0.31-winx64\bin> net start mysql8
MySQL8 服务正在启动 ..
MySQL8 服务已经启动成功。

2、验证

mysql -P 3307 -u root -p,回车输入密码,可以看到我们已经登录上我们的mysql8版本

电脑本地安装不同版本MySQL

mysql -P 3306 -u root -p,回车输入密码,可以看到我们已经登录上我们的mysql5.7版本

电脑本地安装不同版本MySQL

四、总结

1、本地计算机上的MySQL8服务启动后停止

电脑本地安装不同版本MySQL
解决:

  • 保证两个版本的mysql在不同目录
  • 安装mysql8服务的时候,指定读取的my.ini(mysqld install MySQL8 --defaults-file=F:\mysql8\mysql-8.0.31-winx64\my.ini)
  • data目录不能直接从原来copy过来,需要修改,待研究

2、ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

执行命令,修改密码即可

alter user user() identified by “forlan”;

3、指定端口号登录,版本错误问题

mysql5.7,端口3306 mysql8,端口3307
电脑本地安装不同版本MySQL
原因:注册表中的MySQL的ImagePath值设置错误
解决:修改后记得重新启动服务
电脑本地安装不同版本MySQL

4、删除服务

sc delete mysql8