如何安装没有install.exe的mysql数据库文件
从网上下载了mysql安装包吗,首先给他直接放在没有中文和空格符号的路径中,如上图。
但是发现没有常规如install.exe、setup.exe常规安装执行文件,ZIP 绿色版(非安装版)就是这样。安装流程如下:
1. 创建 my.ini(如果还没有)
用记事本新建或在现有 my.ini
里写入:
[mysqld]basedir=D:/mysql-8.0.24-winx64datadir=D:/mysql-8.0.24-winx64/dataport=3306character-set-server=utf8mb4default_authentication_plugin=mysql_native_password
或者:
[mysqld]port=3306basedir=D:\\mysql-8.0.24-winx64datadir=D:\\mysql-8.0.24-winx64\\Datamax_connections=200max_connect_errors=10character-set-client-handshake=FALSEcharacter-set-server=utf8mb4default-storage-engine=INNODB #创建新表时将使用的默认存储引擎collation_server=utf8mb4_unicode_cidefault_authentication_plugin=mysql_native_password[mysql]#设置MySQL客户端默认字符集default-character-set=utf8mb4[client]#设置mysql客户端连接服务器时默认使用端口port=3306default-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 MySQL80mysql -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
了。