MySql服务多版本之间的切换

从网上总结的经验,然后根据自己所遇到的问题合并记录一下,方便日后再次需要用到

MySql服务多版本同时运行

步骤

1、如果你电脑上已经有一个mysql版本,例如mysql-5.7.39-winx64,它占据了3306端口。此时如果你想下仔另一版本,附上下载地址,想下哪个版本版本自己下,下载好后,咱们把他们都解压到某同一个目录下,例如:
D:\MySql\mysql-5.7.39-winx64

D:\Mysql\mysql-8.0.31-winx64

2、解压后的mysql-8.0.31-winx64下面没有my.ini文件和data文件夹,这个需要我们自己创建,如下:

执行如下命令创建data文件夹,这个最好用命令创建哈

mysqld --initialize

执行完上述命令后,会生成data文件夹,里面有诸多文件,我们目前只需要在乎里面一个.err文件,里面存放着mysql的初始密码,例如:
在这里插入图片描述
之后我们需要靠这个密码进行这个版本数据库的第一次登录,所以需要提前将他复制哈。

手动创建一个my.ini文件,在里面输入如下内容:

[mysqld]
# 设置3307端口(原先的mysql5已经占用3306)
port=3307
# 设置mysql的安装目录(你自己的目录)
basedir=D:\MySql\mysql-8.0.31-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\MySql\mysql-8.0.31-winx64\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8

3、接下来,我们打开电脑服务,看下是不是有mysql服务启动着,如果有就关了

4、管理员方式打开命令行,切换到刚才下载的mysql版本的bin目录下,执行如下命令:

mysqld install mysql8

第三个单词mysql8可以自己命名,到时启动这个版本的mysql会用到,查看电脑服务的时候也会用到

5、然后我们进行环境变量的配置,复制bin目录的地址,新增到系统变量path中,这一步是为了到时能够直接在命令行中启动mysql服务,而不需要在次切换到bin目录下进行启动。

6、接下来我们打开注册表,路径为:计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mysql8,点击ImagePath进行修改,内容为D:\MySql\mysql-8.0.31-winx64\bin\mysqld MySQL
在这里插入图片描述
7、到这一步,安装的两个版本的mysql此时可以同时启动了,不过我们还得给刚才安装的mysql设置重置密码哈

输入mysql -u root -p -P3307,然后回车,这样可以避免出现[Warning] Using a password on the command line interface can be insecure.这样的警告,接下来我们再输入之前从.err文件中复制的密码,回车,即可登录成功

注意,一定要记得指定端口例如-P3307,不然到时启动的就是默认情况下的mysql版本

8、修改新安装版本的mysql密码
依次执行如下命令

# 修改加密规则 
ALTER USER'root'@'localhost' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER; 
# 更新一下用户的密码 
ALTER USER'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; 
# 刷新权限
FLUSH PRIVILEGES; 
# 重置密码
alter user'root'@'localhost' identified by '你要设置的密码';

然后我们就完成了哈

我们补充几点哈:
1、假如你电脑原本默认的mysql版本是mysql5.7.21的,启动时就是net start mysql命令即可启动了,关闭服务就是net stop mysql命令即可;如果你要启动刚才安装的mysql8.0.31,那么启动时就要输入当前版本的名字,像这样net start mysql8,mysql8之前在安装的时候就命名好了

2、登录mysql时,电脑原本版本的可以mysql -u用户名 -p密码直接登录,而mysql8.031则需要再输入端口号才行mysql -u用户名 -P所用端口号 -p密码

猜你喜欢

转载自blog.csdn.net/lalala_dxf/article/details/128975500