MySQL之Windows下MySQL5.7x.与MySQL8.0.x版本共存安装

MySQL之Windows下多版本共存安装

文章目录

  • MySQL之Windows下多版本共存安装
    • 1. my.ini配置如下:
    • 2. 安装
    • 3. 修改注册表
    • 4. 登录
    • 5. 修改root用户密码

场景:老项目跑的MySQL5.7.x,而新项目中用到了MySQL8.0.x,为了开发或测试方便在同一台主机上同时安装MySQL5.7x与MySQL8.0.x,这里以Windows为例安装MySQL的多个版本。

前提:

  1. 如windows系统过中已经安装过了MySQL5.7.x,现在要安装MySQL8.0.x,则具体安装步骤如下

  2. 这里以安装mysql-8.0.21-x64为例

1. my.ini配置如下:

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
 
[mysqld]
# 设置3307端口
port = 3307
# 设置mysql的安装目录
basedir=F:\\mysql-8.0.21-winx64
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=F:\\mysql-8.0.21-winx64\\data #8.0以下版本需要配置数据目录
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认密码策略,这里设置为以前的,兼容客户端无法连接的问题
default_authentication_plugin=mysql_native_password

2. 安装

# 1.初始化,已经安装过了mysql5.7.x,这里需要指定--defaults-file
mysqld --defaults-file=F:\\mysql-8.0.21-winx64\my.ini --initialize --console

# 2. 安装,这里指定服务名为MySQL8,并带上 --defaults-file
mysqld --install MySQL8 --defaults-file=F:\\mysql-8.0.21-winx64\my.ini
# 上面命令安装后虽然注册了名称为MySQL8的服务,但是使用net star MySQL8 提示启动错误,因为已经安装过了Mysql5,用的MySQL5命令,所以需要修改注册表 

3. 修改注册表

1.cmd命令行窗口中输入regedit,打开注册表
2.找HKEY_LOCAL_HACHINE\SYSTEM\CurrentControlSet\services
3.在services中找到MySQL8并选中,然后再右边的名称列中找到ImagePath,然后双击ImagePath会弹出“编辑字符串”的窗口;
4.将编辑字符窗口中,数值数据由
F:\\mysql-5.7.26-winx64\bin\mysqld --defaults-file=F:\\mysql-5.7.26-winx64\my.ini idmMysql8
改为
F:\\mysql-8.0.21-winx64\bin\mysqld --defaults-file=F:\\mysql-8.0.21-winx64\my.ini idmMysql8
5.然后使用命令 net start mysql8 启动服务即可

4. 登录

# 注意:多个版本登录时需要戴上端口号,不带默认登录3306端口的mysql
mysql -u root -p [安装时产生的密码,如CB.o+wFSV3ij] -P 3307

# 远程 mysql -h ip -u root -P 3307 -p密码 , 如下:
mysql -h 192.168.31.112 -u root  -P 3307 -pCB.o+wFSV3ij

5. 修改root用户密码

登录成功后根据安装时给出的root用户密码修改用户密码

alter user 'root'@'localhost' identified by 'yuan'
# 或
alter user 'root'@'localhost' identified with mysql_native_password  by 'yuan';

你可能感兴趣的:(MySQL8,MySQL5.7,MySQL多版本共存安装,windows,MySQL8,MySQL5.7)