(转)windows下同时安装mysql8.0和mysql5.7

转:https://www.cnblogs.com/trnanks/p/11662478.html

需求:在windows下安装多个不同版本的MySQL

一、准备工作

下载MySQL安装包,可一下载msi安装版本(有图形界面,点击自动配置),也可以下载zip压缩版本(需要自己配置)。我的情况是MySQL8.0是用图形界面安装好的,这里使用压缩版本安装MySQL5.7。

MySQL8.0官方下载地址:https://dev.mysql.com/downloads/mysql/

MySQL5.7官方下载地址:https://dev.mysql.com/downloads/mysql/

二、注意事项

  1.为了避免发生各种奇怪的问题,路径最好全用英文。

  2.路径在文件种写的时候要么用 \ ,要么用 / 。

  3.清除之前配置过的MySQL Path环境变量。(虽然大家都知道环境变量就是在cmd输入命令时,先在配置环境变量的目录下查找执行命令。但是我还是被这个坑了,之前用MySQL8.0的时候配置了环境变量,现在安装MySQL5.7虽然工作目录已经切换到了当前5.7的安装目录,输入命令mysqld仍然使用的是8.0的exe)。(cmd执行命令时,先查找环境变量目录,再查找当前目录。)

三、安装过程

  1.将下载好的mysql-5.7.27-winx64.zip解压到本地。

  2.以管理员身份打开一个cmd窗口(不是管理员身份,后面创建服务的时候会被拒绝)。

  3.切换工作目录到bin目录下。

  4.执行命令 mysqld --initialize --console 其中--console可选项表示将输出打印到屏幕上,否则再data目录下的.err文件中查看。(初始化需要一段时间,不要心急)

 这里显示的警告可以使用创建my.ini配置文件进行相应的配置,这段话种最重要的就是随机生成的初始密码需要先记一下。

  5.创建服务 mysqld --install MySQL57 其中“MySQL57”是自己定义的。

binmysqld install MySQL57--defaults-file="F:Programmysql-8.0.15-winx64my.ini"

  6.启动服务, net start MySQL57 。或者使用WIN键+R,输入services.msc,使用图形界面开启服务。

  很多人都是最后一步启动不起来,原因注意事项里已经说明,先清除之前的MySQL环境变量再进行安装。

  我的my.ini文件内容:"D:Program Filesmysql-5.6.12-winx64my.ini"

[mysqld]
# 设置服务端使用的字符集为utf-8
character-set-server=utf8
# 绑定IPv4地址
bind-address = 0.0.0.0
# 设置mysql的端口号
port = 3306
# 设置mysql的安装目录(能看到bin即可)
basedir=D:environmentmysql-5.7.23-winx64
# 设置mysql数据库的数据的存放目录(能看到my.ini文件的目录)
datadir=D:environmentmysql-5.7.23-winx64data
# 允许最大连接数
max_connections=2000
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 设置mysql以及数据库的默认编码
[mysql]
default-character-set=utf8
[mysql.server]
default-character-set=utf8
# 设置客户端默认字符集
[client]
default-character-set=utf8

  7.测试是否安装成功, mysql -u root -p ,然后输入密码。

        8.修改密码、权限

        修改root密码如下,其他自个查吧

   alter user 'root'@'localhost' IDENTIFIED BY 'root';
   FLUSH PRIVILEGES;

四、常见问题

1.还能用到的几个命令

# 删除服务
sc delete MySQL57

# 安装时创建空密码root用户
mysqld --initialize-insecure --user=mysql

2.修改mysql密码

mysqladmin -u root -p password 新密码    #按下回车
Enter password: 旧密码

过程中遇到的错误:

服务没开导致>> ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)

没有真正的初始化>> MySQL服务无法启动,服务没有报告任何错误,请键入 NET HELPMSG 3534 以获得更多的帮助

原文地址:https://www.cnblogs.com/wangle1001986/p/12257189.html