场景
window上已经安装了mysql8.0的服务(安装版), 现在下载了mysql5.7的压缩包(非安装版,解压后就是mysql的所有文件了),期望再装一个5.7版本的mysql。最终目的是电脑上既有8.0的服务, 又有5.7的服务
准备
环境变量准备
个人感觉这个应该不影响, 安装5.7服务时会进入安装包的bin目录操作,所以感觉不用操作, 但我安装5.7之前做了该操作
1. 先删除掉8.0的环境变量
2. 新增5.7的环境变量
文件准备
1. 在5.7安装目录的根目录下创建my.ini文件,并写一定的配置, *注意端口一定要改*
2. **不要手动创建**data目录(我曾尝试先创建data目录,安装失败, 后来重新安装时没主动创建,安装成功了)
my.ini文件内容
[client]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3307端口,避免与已安装的冲突
port = 3307
# 设置mysql的安装目录
basedir=D:\\soft\\install\\mysql-5.7.35-winx64
# 设置 mysql数据库的数据的存放目录
datadir=D:\\soft\\install\\mysql-5.7.35-winx64\\data
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
安装
- 管理员权限打开命令行, 进入myql5.7的bin目录,并执行安装命令
mysqld -install mysql57
其中mysql57 是起的服务名,为了和其他版本区分 - 初始化mysql服务,并获取到root的临时密码, 会自动生成data目录
mysqld --initialize -user=mysql --console
- 启动mysql57服务
net start mysql57
- 登录mysql5.7服务
4.1 输入命令: mysql -uroot -P3307 -p 后回车
4.2 在输入第2步生成的临时密码 (或者直接将密码拼接登录服务的-p参数后面)
注意, 一定要指定mysql的端口, 否则可能链接到已有的mysql服务上, 登录成功后观察下是不是5.7版本的服务, 第一次没有指定端口就链接到8.0上
- 修改root的密码
5.1 方式一:
5.1.1 切换到mysql库
use mysql;
如果报错参考5.2方式二
5.1.2 修改root用户的密码
update user set authentication_string=passworD(“你要设置的密码”) where user=‘root’;
5.2方式二
切换数据库时报错,提示必须先修改密码, 如下。
使用alter修改密码时,如上也报错了, 原计划允许root在任意服务器登录所以使用了‘root’@’%’
正确的重置密码命令:
alter user ‘root’@‘localhost’ identified by ‘重置的密码’;