在 windows 上部署免安装版本的 MySQL Community Server 8.4.8 LTS

简介

在 windows 上全新部署 mysql-8.4.8-winx64,并把 mysql-8.4.8-winx64 注册成 windows 服务。

下载

官方下载地址: https://dev.mysql.com/downloads/mysql/
Select Version下拉框里选择 8.4.8 LTS
下载完成后,解压缩到D:/software/DevTools/MySQL/mysql-8.4.8-winx64

部署

  1. 先配置 my.ini

D:/software/DevTools/MySQL/mysql-8.4.8-winx64/目录下添加 my.ini 文件。

[mysql]
# 设置 mysql 客户端默认字符集
default-character-set=utf8mb4

[mysqld]
# 设置 3306 端口
port = 3306

# 设置 mysql 的安装目录
basedir=D:/software/DevTools/MySQL/mysql-8.4.8-winx64

# 设置 mysql 数据库的数据的存放目录
datadir=D:/software/DevTools/MySQL/mysql-8.4.8-winx64/data

# 允许最大连接数
max_connections=200

# 服务端使用的字符集默认为 8 比特编码的 latin1 字符集
character-set-server=utf8mb4

# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

# 日志相关设置
## 错误日志文件路径
#log-error = D:/software/DevTools/MySQL/mysql-8.4.8-winx64/logs/error.log
## 常规查询日志文件路径
general_log_file = D:/software/DevTools/MySQL/mysql-8.4.8-winx64/logs/general.log
## 启用常规查询日志
general_log = 1
## 慢查询日志文件路径
slow_query_log_file = D:/software/DevTools/MySQL/mysql-8.4.8-winx64/logs/slow.log
## 启用慢查询日志
slow_query_log = 1
## 慢查询阈值(秒)
long_query_time = 2
  1. 创建 logs 目录
    使用管理员身份打开 cmd
md "D:/software/DevTools/MySQL/mysql-8.4.8-winx64/logs"
  1. 初始化 data 目录

由于是全新安装,data目录里没有内容,需要初始化。

"D:\software\DevTools\MySQL\mysql-8.4.8-winx64\bin\mysqld.exe" --defaults-file="D:\software\DevTools\MySQL\mysql-8.4.8-winx64\my.ini" --initialize-insecure

执行命令后,可以看到 D:/software/DevTools/MySQL/mysql-8.4.8-winx64/ 目录下,多了一个有内容的 data 目录。

  1. 注册服务
cd D:\software\DevTools\MySQL\mysql-8.4.8-winx64\bin
# 注册服务,服务名设为MySQL848(8.4.8的缩写,便于识别)。最好使用绝对路径下的 mysqld.exe 。担心有环境变量里的路径配置,导致使用了旧版本的 mysqld.exe。
"D:\software\DevTools\MySQL\mysql-8.4.8-winx64\bin\mysqld.exe" --install MySQL848 --defaults-file="D:\software\DevTools\MySQL\mysql-8.4.8-winx64\my.ini"

--install:注册 Windows 服务的核心参数;
MySQL848:自定义的服务名称(可任意命名,建议和版本关联);
--defaults-file:指定 MySQL 的配置文件路径(必须是绝对路径)。

  1. 启动服务
net start MySQL848
  1. 停止服务
net stop MySQL848
  1. 注销服务
# 先停止服务
net stop MySQL848
# 注销服务
"D:\software\DevTools\MySQL\mysql-8.4.8-winx64\bin\mysqld.exe" --remove MySQL848
  1. 修改本地 root 账户的密码

由于使用的 --initialize-insecure 参数初始化的 data 目录,所以创建的 root 账户是没有密码的。

# 免密码登录MySQL
"D:\software\DevTools\MySQL\mysql-8.4.8-winx64\bin\mysql.exe" -uroot
# 切换数据库
use mysql;
# 查看用户数据
select host,user,plugin,authentication_string from `user`;
# 修改 root 用户的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '!QAZ2wsx';
# Query OK, 0 rows affected (0.02 sec) 。注意返回结果中的 0 rows affected ,也是代表修改密码成功了。

# 刷新权限(使修改生效)
FLUSH PRIVILEGES;

# 退出当前MySQL会话
exit;

# 使用新密码重新登录
"D:\software\DevTools\MySQL\mysql-8.4.8-winx64\bin\mysql.exe" -uroot -p!QAZ2wsx

# 登录成功后,执行命令确认账户和版本
SELECT USER(), VERSION();
  1. 新增 root 远程账户
    密码与本地的 root 账户一致。mysql会自动识别到是本地root登录,还是远程root登录。
-- 1. 创建root远程账户并设置密码
CREATE USER IF NOT EXISTS 'root'@'%' IDENTIFIED BY '!QAZ2wsx';

-- 2. 赋予和本地root相同的权限(全部权限)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

-- 3. 刷新权限
FLUSH PRIVILEGES;

posted @ 2026-03-23 11:26  梦魇  阅读(51)  评论(0)    收藏  举报