win系统一台电脑安装两个不同版本的mysql教程

文章目录

    • 1.mysql下载zip包(地址)
    • 2.解压在你的电脑上(不要再C盘和带中文的路径)
    • 3.创建my.ini文件
    • 4.更改环境变量(方便使用, 可选)
    • 5.打包mysql服务
    • 6.初始化mysql的data
    • 7.启动刚刚打包的服务
    • 8.更改密码

1.mysql下载zip包(地址)

下载地址: https://dev.mysql.com/downloads/mysql/

win系统一台电脑安装两个不同版本的mysql教程_第1张图片

2.解压在你的电脑上(不要再C盘和带中文的路径)

data和my.ini是没有的。

win系统一台电脑安装两个不同版本的mysql教程_第2张图片

3.创建my.ini文件

创建记事本改变后缀名就可以

里面填写如下:

 1. 注意更改端口号不和第一个3306重复就可以。
 2. 设置两个目录填写自己的路径就可以,那个data等一下自己会生成。
 3. 还有最下面的连接端口
[mysqld]
# 这里设置3307端口
port=3307
# 设置mysql的安装目录
basedir=E:\mysql-8.0.31-winx64
# 设置mysql数据库的数据的存放目录
datadir=E:\mysql-8.0.31-winx64\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

4.更改环境变量(方便使用, 可选)

我这里没有配置,本机上已经安装了mysql5.7

win系统一台电脑安装两个不同版本的mysql教程_第3张图片

5.打包mysql服务

注意需要cmd管理员模式。

mysql8是我的命名随便不重复就行。 如图就是成功。

# 进入安装文件夹的bin下: D:\mysql\mysql8\bin ,执行
mysqld  install  mysql8

6.初始化mysql的data

在cmd输入命令。

等待一下就可以了。会出现默认密码,在弹出的命令里面找一下。

root@localhost: 后面就是密码,复制密码一会更改使用。

mysqld --initialize --console

win系统一台电脑安装两个不同版本的mysql教程_第4张图片

7.启动刚刚打包的服务

服务管理启动mysql8, 或者

net start mysql8

win系统一台电脑安装两个不同版本的mysql教程_第5张图片

8.更改密码

进入安装的bin目录,mysql -u root -p,但是出现错误,进不去,navicat也提示错误如下

win系统一台电脑安装两个不同版本的mysql教程_第6张图片
解决:

# 步骤(1) 关闭 mysql8 服务
# 打开一个窗口执行如下命令
D:\mysql\mysql8\bin>mysqld --console --skip-grant-tables --shared-memory

# 步骤(2). 在打开一个窗口执行如下命令

D:\mysql\mysql8\bin>mysql -uroot
-- 把root改成空密码
mysql> UPDATE mysql.user SET authentication_string='' WHERE user='root' and host='localhost';

mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)

mysql> quit

# 步骤(3). ctrl+c 终止 “步骤(1)”的命令
# 步骤(4). 正常启动mysql8,这时候用root空密码进入mysql8
-- 再次修改root密码成root
D:\mysql\mysql8\bin>mysql -uroot

-- #修改加密规则,此例中密码为空,此处的password删掉即可,只留下 ''(此处为英文单引号)。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; 

-- #更新一下用户的密码,此例中密码为空,此处的password删掉即可,只留下 ''(此处为英文单引号)。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; 

-- #刷新权限 
FLUSH PRIVILEGES; 

之后, navicat就能正常登录了

你可能感兴趣的:(运维管理,.NET项目,Java项目,mysql)