Windows同时兼容MySQL5和MySQL8

【一】下载好两个版本的数据库MySQL

官网下载:(https://dev.mysql.com/downloads/mysql/)

  • 点击Download->Community。

  • 查找需要的MySQL版本。
    我下载的都是 64 位系统的。
    进入是下载MySQL8
    点击previous获取以前MySQL版本,下载MySQL8

【二】下载下来的是压缩包,解压缩就行,放到自己想放的位置。

image-20240411153055854

【三】配置环境

1. 遇到的问题:

  • MySQL8目录下没有生成data文件夹,而生成到MYSQL5目录下
  • 启动服务失败,右键服务属性,可执行文件的路径竟然是MySQL5目录下的
  • 日志文件在MySQL5目录下,日志内容会提示读取了MySQL5的配置文件my.ini

2. 产生的原因:

由于先前已安装了MySQL5,MySQL环境变量是配置的MySQL5的,所以在MySQL8 bin目录下执行的所有命令都是在MySQL5下执行的

  • 运行初始化命令:mysqld --initialize生成的data文件及日志会在MySQL5目录下,

3. 解决办法:

由于我们的环境变量现在还是MySQL5,为了安装MySQL8时不使用MySQL5的环境变量,我们将原有的MySQL5的环境变量改成MySQL8的环境变量。然后再进行步骤安装。

image-20240411150720928

image-20240411150847912

最后再把MySQL5最后再把MySQL5环境变量添加上

【四】安装MySQL8

【1】创建必要文件 my.ini

[mysqld]
#设置3307端口
port=3307
#设置mysql的安装目录
basedir="D:/mysql/mysql-8.0.36-winx64"
#设置mysql数据库的数据的存放目录,就是前面手动创建的data目录
datadir="D:/mysql/mysql-8.0.36-winx64/data"
#允许最大连接数
explicit_defaults_for_timestamp=true
max_connections=200
#允许连接失败的次数。
max_connect_errors=10
#服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#默认使用“mysql_native_password”插件认证, mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
user="root"
password="123456"
#设置mysql网络通信的默认字符集
default-character-set=utf8mb4
[client]
#设置mysql客户端连接服务端时默认使用的端口
port=3307
#设置mysql客户端的默认字符集
default-character-set=utf8mb4

【2】生成 data 文件夹(如果以前有就删除它)

  • 以管理员身份打开命令提示符,切换到MySQL8的 bin 路径下。
    输入命令:mysqld --initialize
    等一段时间,它会重新生成一个 data 文件,找到其中后缀为 .err 的文件

image-20240411151236376

【3】安装MySQL8服务

mysqld --install MYSQL8

在这里插入图片描述

【4】开启MySQL8服务

net start MYSQL8

在这里插入图片描述

【5】登录MySQL8修改密码

mysql -u root -p

image-20240411151641573

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

【6】刷新权限

flush privileges;

【五】结果

image-20240411152154714

image-20240411152249233

posted @ 2024-06-27 17:55  -半城烟雨  阅读(18)  评论(0编辑  收藏  举报