圆咕噜咕噜 发表于 2024-6-13 22:12:40

【Windows上同时安装两个不同版本MYSQL】MySQL安装教程--5.7和8.0版本

一、MySQL官网下载对应版本的zip文件

最新版本8.0.34下载链接:https://dev.mysql.com/downloads/mysql/
https://img-blog.csdnimg.cn/83b916a8e5a7475aab95f1775484a35c.png
MySQL 5.7下载链接:https://downloads.mysql.com/archives/community/
https://img-blog.csdnimg.cn/e8260263e5de4943978f3b1e75915cb7.png
二、将下载到的压缩包解压到指定目次

使用解压工具将下载到的压缩包解压:如:解压到D:/software/目次下(自己选择),解压之后发起重命名该解压出来的文件:如mysql-8.0.34-winx64文件夹名,可将后面的winx64去掉,得到mysql-8.0.34(方便查察和明白,此处可不修改,但后续内容需对应更改)
https://img-blog.csdnimg.cn/228c4de3e16a4936b66cded15dae6524.png
三、添加情况变量

右键我的电脑->属性->高级系统设置->情况变量
选择系统变量Path,在其后添加:你的mysql安装文件下面的bin文件夹
https://img-blog.csdnimg.cn/935ac96c9c71422d9754b2a6e3951a13.png
四、在与bin同级的文件夹下新建,my.ini文件(留意:此处5.7版本和8.0版本操纵不同)

https://img-blog.csdnimg.cn/9481c301976a41109588d60315739759.png
4.1、编辑my.ini文件的内容(MySQL 5.7版本,路径改为自己电脑上对应的路径)



basedir=D:\\software\\mysql-5.7\\

datadir=D:\\software\\mysql-5.7\\data\\

port=3306

skip-grant-tables #免登陆检查
4.2、编辑my.ini文件的内容(MySQL 8.0版本,不需要加skip-grant-tables,路径改为自己电脑上对应的路径)



basedir=D:\\software\\mysql-8.0.34\\

datadir=D:\\software\\mysql-8.0.34\\data\\

port=3307
留意:此处假如是\,会报错,修改为\\,且端口号需要自行调整
五、启动管理员模式下的CMD,并将路径切换至mysql下的bin目次,然后输入:mysqld -install(安装mysql)

1.启动管理员模式下的CMD

https://img-blog.csdnimg.cn/3a6cd5d604f34c019b8ebe8ff3365bb3.png
2.将目次切换到解压的mysql文件中的bin文件夹的位置:

输入:cd /d D:\software\mysql-8.0.34\bin (路径换为你电脑对应的位置即可)
https://img-blog.csdnimg.cn/84ac1cd48d4b48f8a8aa76cb8d27633a.png
3.此时输入:mysqld -install (安装mysql服务)

这种安装方式服务名默以为MySQL,假如已有同名服务名,安装方式参考目次十二第二种安装方式
命令行界面出现:Service successfully installed.即可
https://img-blog.csdnimg.cn/e182c88cb2524709a4ff7e3cded25a1d.png
图中是已装了的情况。
六、再输入 mysqld --initialize-insecure --user=mysql初始化数据文件

输入之前目次如下:
https://img-blog.csdnimg.cn/e194c912502f493cad138fe1ec5775a7.png
实行 mysqld --initialize-insecure --user=mysql(没输出ERROR信息则没报错)
https://img-blog.csdnimg.cn/f5bdb6623d414de19c546359e73ede84.png
实行成功:生成data和docs文件夹
https://img-blog.csdnimg.cn/71296f19a0a941cea56cdd4074e23eca.png
data文件夹,即为存储数据库的地方,之前有数据库可拷贝到该目次下就可以使用了。
https://img-blog.csdnimg.cn/8f76900cbee44587bf7463be74e8cf8e.png
七、启动mysql,然后用命令 mysql -uroot -p 进入mysql管理界面

7.1、控制台继续输入: net start mysql

https://img-blog.csdnimg.cn/86ef5c38e2e742a9b88effb4b0b1ca36.png
https://img-blog.csdnimg.cn/3d4dc99cf01d435eb69dd377d2da6540.png
7.2、再输入:mysql -h127.0.0.1 -P3307 -uroot

https://img-blog.csdnimg.cn/83634695201349a69103539657f0b1be.png
直接输入回车,就可以进入到mysql管理界面(由于我们没有密码)。
其中,-h 参数指定毗连的主机名(或 IP 地址),-P (大写的P)参数指定毗连的端口号,-u 参数指定毗连的用户名。
留意:由于已经安装了mysql5.7版本,直接使用mysql -uroot -p 会进入mysql5.7服务,无法进入mysql8.0,所以此时,需要指定毗连的端口号
八、进入界面后更改root密码(留意:此处5.7版本和8.0版本操纵不同)

1、mysql 5.7版本,输入:
update mysql.user set authentication_string=‘password(123456’) where user=‘root’ and host=‘localhost’;
https://img-blog.csdnimg.cn/3aeb85cc7d5f457fb4c250f2c094fea0.png
出现图上内容,则修改密码成功了。
2、mysql 8.0版本,依次输入:
use mysql;
ALTER user root@'localhost' identified by '123456';
如图即修改成功。
https://img-blog.csdnimg.cn/6e107ea331024824a5d302c5c1bdaedf.png
留意:这种修改方式,用Navicat毗连时,会出现问题。解决方法在后面碰到的问题。
最后两个版本都输入:flush privileges; 进行刷新权限。
https://img-blog.csdnimg.cn/2927a54d03f044a8bcfcbd646631eded.png
九、修改my.ini文件,删除最后一行skip-grant-tables免密登录(留意:此步只有5.7版本需要)


basedir=D:\software\mysql-5.7\
datadir=D:\software\mysql-5.7\data\
port=3306
十、重启mysql即可正常使用

十一、使用修改的密码登录mysql

十二、mysql8.0版本第二种安装方式

服务名不可与已安装服务名重复,这里命名的服务为:MySQL80
1、实行命令 mysqld install MySQL80 --defaults-file=“D:\software\mysql-8.0.34\my.ini” ,出现Service successfully installed 表示服务安装成功
2、再输入 mysqld --initialize-insecure --user=mysql初始化数据文件
3、实行net start MySQL80 命令,启动服务
D:\software\mysql-8.0.34\bin>net start MySQL80
MySQL80 服务正在启动 .
MySQL80 服务已经启动成功。
4、实行mysql -h127.0.0.1 -P3306 -uroot -p123456命令,登录数据库
D:\software\mysql-8.0.34\bin>mysql -h127.0.0.1 -P3306 -uroot -p123456
———————————————————————————————————————————
附:碰到的问题

1、使用Navicat毗连时,出现以下错误

https://img-blog.csdnimg.cn/482f125ce98e47f899f9e7d086246c43.png
重要原因是mysql服务器要求的认证插件版本与客户端不一致造成的。
打开mysql命令行输入如下命令查察,系统用户对应的认证插件:
https://img-blog.csdnimg.cn/69ceed51f2e145519a4a9bd9c2c809f2.png
可以看到root用户使用的plugin是caching_sha2_password,mysql官方网站有如下说明:
https://img-blog.csdnimg.cn/2873a0fd6c9149f6abeda72569cb5e6a.png
意思是说caching_sha2_password是8.0默认的认证插件,必须使用支持此插件的客户端版本。
plugin的作用之一就是处置惩罚后的密码格式和长度是不一样的,雷同于使用MD5加密和使用base64加密一样对于同一个密码处置惩罚后的格式是不一样的。
1.1、解决

1.查察用户信息
select host,user,plugin,authentication_string from mysql.user;
2.修改用户密码(最好直接复制粘贴,手敲可能会报错)
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
更新user为root,host为% 的密码为123456
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
更新user为root,host为localhost 的密码为123456
备注:host为 % 表示不限定ip localhost表示本机使用 plugin非mysql_native_password 则需要修改密码
修改前:
https://img-blog.csdnimg.cn/dc359c991e9048759e2b7e3186bcb2a1.png
修改后:
https://img-blog.csdnimg.cn/19a8efc939284b3e9972da3988c19361.png
2、在安装Mysql 8 的过程中报错 mysqld: Can’t create directory …

在初始化mysql的时间实行mysqld --initialize-insecure --user=mysql碰到一个报错 mysqld: Can’t create directory … (OS errno 2 - No such file or directory)。
在网上搜了一遍,终于找到问题地点。
其实就是my.ini文件出了问题。
mysql 8 的配置文件中basedir 和 datadir 的路径格式不对!!!
网上贴的教程很多都是如许的:
https://img-blog.csdnimg.cn/b0559a262941452db6acd80c888ae2df.png
#设置mysql的安装目录
basedir=D:\software\mysql-8.0.34\
#设置mysql数据库的数据的存放目录
datadir=D:\software\mysql-8.0.34\data
现实应该是如许的:
https://img-blog.csdnimg.cn/54d44cb6f3bb44c2b0e9265a051570dc.png
需要用双斜杠
#设置mysql的安装目录
basedir=D:\\software\\mysql-8.0.34\\
#设置mysql数据库的数据的存放目录
datadir=D:\\software\\mysql-8.0.34\\data
———————————————————————————————————————————
借鉴文章

MySQL安装完整教程–5.7和8.0版本
Mysql 解决1251 client does not support …问题
Mysql 8安装报错Can‘t create directory问题解决
windows情况下操纵,同一台呆板 如何跑两个mysql服务?

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【Windows上同时安装两个不同版本MYSQL】MySQL安装教程--5.7和8.0版本