如何安装没有install.exe的mysql数据库文件
从网上下载了mysql安装包吗,首先给他直接放在没有中文和空格符号的路径中,如上图。
但是发现没有常规如install.exe、setup.exe常规安装执行文件,ZIP 绿色版(非安装版)就是这样。安装流程如下:
1. 创建 my.ini(如果还没有)
用记事本新建或在现有 my.ini
里写入:
[mysqld]
basedir=D:/mysql-8.0.24-winx64
datadir=D:/mysql-8.0.24-winx64/data
port=3306
character-set-server=utf8mb4
default_authentication_plugin=mysql_native_password
或者:
[mysqld]
port=3306
basedir=D:\mysql-8.0.24-winx64
datadir=D:\mysql-8.0.24-winx64\Data
max_connections=200
max_connect_errors=10
character-set-client-handshake=FALSE
character-set-server=utf8mb4
default-storage-engine=INNODB #创建新表时将使用的默认存储引擎
collation_server=utf8mb4_unicode_ci
default_authentication_plugin=mysql_native_password
[mysql]
#设置MySQL客户端默认字符集
default-character-set=utf8mb4
[client]
#设置mysql客户端连接服务器时默认使用端口
port=3306
default-character-set=utf8mb4
保存为 ANSI
或 UTF-8
编码,后缀为.ini即可。
其中:
default_authentication_plugin=mysql_native_password
这行配置的作用是:
告诉 MySQL 8.0 以后,新创建的用户默认使用旧的「mysql_native_password」认证方式,而不是 MySQL 8.0 默认的「caching_sha2_password」。
| 认证插件 | 特点 | 兼容性 |
| ----------------------------------------- | ------------------- | -------------------------------------------- |
| **caching\_sha2\_password**(MySQL 8.0 默认) | 更安全(SHA-256),支持密码缓存 | ❌ 旧客户端/驱动(如 Navicat、PHP 5.x、Java 老驱动)**连不上** |
| **mysql\_native\_password**(MySQL 5.x 默认) | 传统 SHA-1 加密 | ✅ 几乎所有客户端/驱动都支持 |
✅ 什么时候必须加这行?
你用 Navicat 12 以下、PHP 5.x 或 Java 老驱动 连接 MySQL 8.0,会报类似错误:
Authentication plugin 'caching_sha2_password' cannot be loaded
解决方法:
在my.ini
加这行,然后重启 MySQL,之后创建的用户就兼容旧驱动了。
2.初始化数据库(只需一次)
以 管理员身份 打开 CMD,进入 bin 目录:
关闭当前窗口
点击开始菜单 → 输入
cmd
右键点击“命令提示符” → 选择 “以管理员身份运行”
进入 MySQL 的 bin 目录:
cd /d D:\mysql-8.0.24-winx64\bin
请注意,一定要输入 /d,否则切换不过去。/d
的作用是:切换盘符 + 切换目录,执行完你会看到提示符变成:D:\mysql-8.0.24-winx64\bin>
进入目录后,执行以下命令会生成 data 目录和 root 的随机密码:
mysqld --initialize --console
执行结果如图:
看到类似 root@localhost: XXXXXXXX
的密码,记下来。
3. 安装为 Windows 服务
继续在 CMD 执行:
mysqld --install MySQL80
4. 启动服务 & 登录
net start MySQL80
mysql -uroot -p
# 输入刚才记录的随机密码
首次登录后建议修改 root 密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
注意:1、这句代码末尾要加引号;2、只输入一行即可;如下图:
常见问题
端口 3306 被占用:在
my.ini
里改成 3307,启动时用net start MySQL80 --port=3307
。缺少 VC++ 运行库:安装 Microsoft Visual C++ 2015-2019 Redistributable (x64)。
完成后就可以用 MySQL Workbench 或 Navicat 连接 localhost:3306
了。