Windows 安装 MySQL8 和 MySQL5

  • 安装MySQL
    • 解压MySQL压缩包
    • my.ini
    • 开始安装
    • 修改密码
    • 提醒
    • 补充
  • 对于Mysql workbench不能启动
    • 注意

参考链接:
windows环境下:安装MySQL8.0;同时安装MySQL5.7
mysql8.0卸载干净–win10
MySQL安装|菜鸟教程
首先从MySQL官网下载MySQL8版的zip文件和MySQL5版的zip文件。顺便下载了MySQL workbench 可执行安装文件。

安装MySQL

我首先安装MySQL8,然后安装MySQL5。

解压MySQL压缩包

解压MySQL8压缩包和MySQL5压缩包到自己定义的地放,路径最好不要包含空格和中文,防止出现问题。我的安装路径是D:\MySQL\mysql-5.7.29 和 D:\MySQL\mysql-8.0.17。

my.ini

分别为两个版本的MySQL新建my.ini文件。配置文件的整体相同,只是有个别地方需要修改。my.ini文件的位置分别为:D:\MySQL\mysql-5.7.29\my.ini 和 D:\MySQL\mysql-8.0.17\my.ini。
配置文件的内容是我从网上找的。MySQL5的my.ini:

[mysqld]
# 设置端口
port=3307
# 设置mysql的安装目录
basedir=D:\\MySQL\\mysql-5.7.29
# 设置mysql数据库的数据的存放目录
datadir=D:\\MySQL\\mysql-5.7.29\\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3307
default-character-set=utf8

MySQL8的my.ini:

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\\MySQL\\mysql-8.0.17
# 设置mysql数据库的数据的存放目录
datadir=D:\\MySQL\\mysql-8.0.17\\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

需要根据自己放的位置修改文件中对应的地方。

开始安装

首先以管理员身份运行cmd。
切换当前目录到MySQL8的bin目录。
然后执行

mysqld --initialize --user=root --console

这个命令是初始化MySQL,并为用户创建临时随机密码。随机密码会显示在窗口中,可以找到。user参数一般为root。
如图:

然后执行

mysqld --install MySQL8

执行这个命令是安装MySQL服务,服务的名字为MySQL8。之所以要给服务命名为MySQL8是因为打算安装两个版本的MySQL,这样可以区别开两个服务。

修改密码

由于初始密码是随机的,所以还是改个自己记得住的密码吧。
首先要启动服务,然后进入MySQL。管理员身份打开cmd切换到MySQL8的bin目录下执行。

net start mysql8
mysql -u root -p

然后输入初始的密码后进入MySQL。
执行语句:

alter user 'root'@'localhost' identified by 'newpassword' password expire never;
flush privileges;
exit;

就把密码重置为newpassword了。然后退出数据库。
到这里就装好了MySQL8。MySQL5的安装流程一致,只是我把MySQL的服务名称命名为MySQL5。

提醒

在启动服务MySQL8后,此时要在MySQL8的bin目录下执行

mysql -u root -p

输入密码后才能进入MySQL8。如果启动服务后,是在MySQL5的bin目录下执行的登录命令,是会被拒绝进入的。

如果安装出问题可以参考顶部的参考链接,删除MySQL后重装。

补充

如果想要从命令行在任何目录下启动服务并进入对应的MySQL中,需要把MySQL8的bin目录和MySQL5的bin目录加入到环境变量的路径中
为了区别开两个版本的mysql.exe,需要重命名MySQL的bin目录下mysql.exe的文件名。我对应的改为了mysql8.exe 和mysql5.exe。
具体操作就不列出了,很容易从网上找到。

对于Mysql workbench不能启动

装两个版本的MySQL后 还是不要装MySQL workbench了,因为这会导致MySQL5 无法运行。

下载了最新版的MySQL workbench,使用安装程序正确安装完后,不能打开程序。
看网上说的是需要添加最新的Microsoft .NET Framework 4.*
和Microsoft Visual C++ 2019 Redistributable for Visual Studio 2019。这个链接下载的Microsoft Visual C++ 2019 Redistributable for Visual Studio 2019 是2015,2017和2019三个的集合包,我没找到2019单独的包。
另外当前安装MySQL workbench 需要独立的 Microsoft Visual C++ 2015 Redistributable for Visual Studio 2015。

注意

要先安装Microsoft Visual C++ 2015 Redistributable for Visual Studio 2015,MySQL workbench完成安装后再安装Microsoft Visual C++ 2019 Redistributable for Visual Studio 2019。因为高版本存在时,低版本是不能安装的。
Microsoft .NET Framework 是Windows自带的程序,在控制面中勾选后就好了,具体操作很容易百度到。

如果出现缺少XX.dll 的错误,一般都是VC++的包没装好。重新安装对应的VC++包就可以了

文中有什么不对的或者碰到的问题,欢迎评论区留言交流。

更多推荐

Windows下用命令行同时安装MySQL8和MySQL5.7,以及安装workbench并解决无法启动的问题