jk's notes
  • 在 Win 下安装 MySQL (手动安装)

在 Win 下安装 MySQL (手动安装)

参考文档为 MySQL 8.4

2025年10月22日

主要内容:

  1. 下载安装包
  2. 使用 配置向导安装
  3. 手动安装

从 MySQL 8.4 开始 (至少 8.0 没有), bin 目录下就有了 mysql_configurator.exe 程序, 它是一个安装向导, 官网文档也推荐使用它来安装数据库(压缩包安装, 非 msi 安装).

个人也不对推荐使用 msi 安装, 会安装很多附加内容. 而手动安装很干净, 而且删除等操作更容易.

1. 下载安装包

在 mysql.com 官网下载即可.

  • 进入官网.
  • 找到 DOWNLOAD 下载.
  • 进入 Community 下载.
  • 找到 MySQL Community Server 下载.
  • 选择版本, 系统, 然后按照需要下载.

image-20251022165211261

其中 Zip 版本有两个, 带有 Debug 的含有测试与调试用数据与文件.

2. 使用向导安装

2.1 安装

下载文件后, 将其放到一个具体的目录下, 解压. 例如 D:\bin 目录下.

image-20251022165429161

然后在 bin 目录下可以找到 mysql_configurator.exe 向导程序, 双击运行, 按照步骤操作即可. 基本配置需要经过:

  1. 设置数据库文件存储路径.
  2. 配置服务器类型, 选择网络 (默认TCP/IP, 端口默认 3306).
  3. 设置账号与密码. 需要设置 root 密码, 可选择创建其他账号.
  4. 设置服务名. 默认会以服务的形式安装 (可选).
  5. 配置数据文件存储路径的权限.
  6. 配置是否创建测试数据库文件 (Sakila 和 World).

按照向导一路配置后, 最后是执行, 并使配置生效. 下面是执行过程的截图.

image-20251022170923062

向导运行有两个状态, 在向导左下角的任务栏中可以看到. 分别是新配置, 修改配置 (英文带有 re- 前缀).

服务器类型有四种:

  1. 开发机. 适用于开发, 使用最少内存. 大约 16M 的标准.
  2. 服务器, 适用于一台服务器需要安装各种服务, 使用标准内存.
  3. 独占服务器. 适用于专用于数据库的服务器, 会最大限度的使用内存.
  4. 手动. 基于 my.ini 配置文件来使用.

设置完服务配置后, 会设置文件权限

安装完成后, 可以在服务资源管理器中看到 MySQL84 的服务.

image-20251022171408173

并且选中服务后, 右键查看属性, 可以看到服务的命令:

"D:\bin\mysql-8.4.7-winx64\bin\mysqld.exe" --defaults-file="D:\bin\mysql-8.4.7-winx64\data\my.ini" MySQL84

同时会在选择的数据文件的路径中创建配置文件与数据文件夹.

image-20251022171537813

最后安装完成后, 安装向导的日志文件会默认放在 "C:\ProgramData\MySQL\MySQL Configurator" 目录下.

2.2 测试

将数据库文件的 bin 目录添加到环境变量, 如此数据库程序与工具就可以在终端直接使用了.

使用下面的命令来测试数据库服务是否正常运行:

mysqladmin -uroot -p version status proc

image-20251022171650665

由于向导默认需要设置密码, 因此这里会要求输入密码.

或者使用下面的命令, 来查看数据库:

mysql -uroot -p -e 'SHOW DATABASES' # -e 选项, execute, 表示执行 sql 语句

image-20251022171939771

也可以使用下面命令:

mysqlshow # 显示所有数据库
mysqlshow -uroot -p mysql # 显示数据库 mysql 下的表

image-20251022175958522

3. 手动安装

手动安装的步骤:

  1. 使用 mysqld --console --initialize-insecure 来初始化数据目录.
  2. 创建 my.ini 文件.
  3. 安装服务.
  4. 启动服务.

使用 mysqld 来初始化数据库目录时:

  • 可以带有 --basedir 与 --datadir 选项参数, 来指定基本路径与数据库文件的路径.
  • 如果不使用 --console, 命令行中不会输出其他内容.
  • 除了 --initialize-insecure 选项外, 还有一个替代选项: --initialize, 区别是 --initialize-insecure 会在初始化结束时提示不安全, 建议关闭, 同时不会生成数据库访问密码, 即在输入密码提示的时候直接回车即可完成数据库的登录. 而 --initialize 选项会在执行过程中生成随机密码. 如果没有 --console, 则需要在错误日志中查看密码, 错误日志在数据库数据文件夹下, 命名默认为: 主机名.err. 这里使用了不生成密码的方式, 后续可以使用 mysqladmin 来创建密码.

初始化数据文件后需要手动创建 my.ini 文件, 或使用 my.cnf 文件. 它是文本文件, 其内容必须要包含 [mysqld] 节, 并设置 basedir 与 datadir. 需要注意的是 windows 的路径分隔符默认使用反斜线, 在编辑文件时, 可以使用正斜线, 或双写的反斜线.

[mysald]
basedir=D:/bin/mysql-8.4.7-winx64
datadir=D:\\bin\\mysql-8.4.7-winx64\\data

安装服务使用下面的命令 (需要管理员权限):

mysqld --install <服务名> --defaults-file=<my.ini配置文件路径>

执行命令最好使用全路径名. 如果不指定配置文件路径, 也可以使用默认的服务名, 即 MySQL (经测试在指定配置文件名时, 不指定服务名会报错).

在未指定配置文件时, mysql 有一套检索配置文件的搜索路径, 使用下面命令可以查看:

mysql --help | findstr 'my.ini'

默认会在 "系统 Windows 目录" 下, "系统根目录" 下, "数据库程序文件所在目录" 下检索.

启动服务可以使用 SC 命令:

SC start <服务名>

使用 mysqladmin 来设置密码

mysqladmin -uroot -p password

首先会提示输入密码, 如果生成了密码 (使用 --initialize 选项), 直接输入密码后回车. 如果没有生成密码 (使用 --initialize-insecure 选项) 则直接回车. 然后会提示输入密码, 以及确认密码, 即设置新密码. 设置完成后再登录就需要使用密码了.

4. 卸载

如果没有使用服务来安装数据库, 则直接删除文件即可. 如果使用服务来安装, 卸载步骤为:

  1. 停止服务.
  2. 删除服务.
  3. 删除数据库相关文件.

停止服务可以使用服务资源管理器, 或执行命令:

SC stop <服务名>

删除服务可以使用 SC 命令:

SC DELETE <服务名>

也可以使用 mysqld 的命令:

mysqld --remove <服务名>

最后删除相关文件即可.

Last Updated: 10/22/25, 6:30 PM
Contributors: jk