Mysql 安装指南(小白入门)
1. 下载安装组件包:
https://zhuanlan.zhihu.com/p/722160133
https://learn.microsoft.com/zh-cn/cpp/windows/latest-supported-vc-redist?view=msvc-170
https://aka.ms/vs/17/release/vc_redist.x64.exe#Visual C++ 2015-2022 Redistributable (x64) 最新受支持 x64 版本的永久链接。 X64 可再发行程序包包含 ARM64 和 X64 二进制文件。
2.下载 (mysql-9.2.0-winx64.zip) 解压到
E:\Program Files\mysql-9.2.0-winx64
下载地址:
https://dev.mysql.com/downloads/#最新版为 MySQL Community Server 9.2.0 Innovation
3.配置环境变量
此电脑右键 - 属性 - 高级系统设置 - 环境变量 - 系统变量 - 新建 -
MYSQL_HOME 值为 E:\Program Files\mysql-9.2.0-winx64
Path 追加 %MYSQL_HOME%\bin;%MYSQL_HOME%
我把它写成一个脚本文件 "添加MYSQL路径到Path环境变量.cmd", 见文末
4. 配置 my.ini 文件
创建文件 E:\Program Files\mysql-9.2.0-winx64\my.ini
内容:
[mysql]
# utf8mb4
default-character-set=utf8mb4
[mysqld]
# 设置mysql的安装目录
basedir=E:\\Program Files\\mysql-9.2.0-winx64
# 设置mysql数据库的数据的存放目录
datadir=E:\\Program Files\\mysql-9.2.0-winx64\\data
# 设置端口(查看是否占用 netstat -ano | findstr 3306)
port=3306
# 允许最大连接数
max_connections=200
# 允许连接失败的次数
max_connect_errors=10
# 服务端使用的字符集默认为 utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 创建模式
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
5.安装命令及日志
E:\Program Files\mysql-9.2.0-winx64>mysqld -remove
The service doesn''t exist!
E:\Program Files\mysql-9.2.0-winx64>rd /q/s data
E:\Program Files\mysql-9.2.0-winx64>mysqld --initialize --user=mysql --console
2025-03-18T09:04:21.108215Z 0 [System] [MY-015017] [Server] MySQL Server Initialization - start.
2025-03-18T09:04:21.113562Z 0 [Warning] [MY-010915] [Server] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2025-03-18T09:04:21.113732Z 0 [System] [MY-013169] [Server] E:\Program Files\mysql-9.2.0-winx64\bin\mysqld.exe (mysqld 9.2.0) initializing of server in progress as process 156
2025-03-18T09:04:21.129186Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2025-03-18T09:04:21.509195Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2025-03-18T09:04:23.193272Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: rvoBF(;o07W-
2025-03-18T09:04:24.932435Z 0 [System] [MY-015018] [Server] MySQL Server Initialization - end.
E:\Program Files\mysql-9.2.0-winx64>mysqld --install
Service successfully installed.
E:\Program Files\mysql-9.2.0-winx64>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。
6. 参考教程:
https://dev.mysql.com/doc/refman/8.4/en/windows-install-archive.html
https://www.52pojie.cn/thread-1944678-1-1.html
https://blog.csdn.net/weixin_44698389/article/details/105363480
https://blog.csdn.net/atu1111/article/details/105183536
https://zhuanlan.zhihu.com/p/722160133
:: -----------------------------------------------------------------------------------------------------------
文件名: "添加MYSQL路径到Path环境变量.cmd"
文件内容:
@REM 为系统变量PATH增加路径:
@echo off&setlocal EnableDelayedExpansion
:BEGIN
cls
for %%a in ("%CD%\..") do set "path_=%%~fa"
set "path+=%path_%\bin\"
REM set/p path_=请输入你要添加的环境变量的路径:
set "keyPath=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment"
@if not defined path_ goto :ERROR
REM Windows XP skip=4
for /f "skip=2 tokens=1,2,*" %%a in ('reg query "%keyPath%" /v Path') do (
echo 当前的系统环境变量为:
echo %%c&echo;
set/p yesno=是否确认将"%path_%"添加到系统环境变量中去?[Y^|yes]/[N^|no] :
if /i "!yesno!"=="yes" set yesno=y
if /i "!yesno!"=="y" (
set "$path=%%c"
if "!$path:~-1!"==";" set "$path=!$path:~0,-1!"
>nul reg add "%keyPath%" /v Path /t REG_EXPAND_SZ /d "!$path!;%path+%;%path_%" /f
@if !errorlevel!==0 echo.&echo 已成功将文件路径添加到 Path 系统环境变量。重启 Python 窗口生效。&pause&goto :EOF
)
if /i "!yesno!"=="no" set yesno=n
@if /i "!yesno!"=="n" echo.&echo 已取消操作。&pause&goto :EOF
@goto :ERROR
)
@echo "发生未知错误!"&pause&goto :EOF
:ERROR
echo 输入错误,请重新输入。&pause
@goto :BEGIN
:: -----------------------------------------------------------------------------------------------------------
:GetUserPrivilege
@echo off&rem 在域中登录当前用户时,开启来宾用户,成则管理员,败则普通用户
>nul 2>nul net user guest /active:yes
set a=%errorlevel%
if /i %a% EQU 0 goto :1
if /i %a% EQU 5 goto :2
:2
mshta javascript:window.alert("%a%------------------现用户为普通权限------------------%a%");window.close()
@goto :EOF
:1
>nul 2>nul net user guest /active:no
mshta javascript:window.alert("%a%------------------现用户为管理员权限------------------%a%");window.close()
@goto :EOF
1. 下载安装组件包:
https://zhuanlan.zhihu.com/p/722160133
https://learn.microsoft.com/zh-cn/cpp/windows/latest-supported-vc-redist?view=msvc-170
https://aka.ms/vs/17/release/vc_redist.x64.exe#Visual C++ 2015-2022 Redistributable (x64) 最新受支持 x64 版本的永久链接。 X64 可再发行程序包包含 ARM64 和 X64 二进制文件。
2.下载 (mysql-9.2.0-winx64.zip) 解压到
E:\Program Files\mysql-9.2.0-winx64
下载地址:
https://dev.mysql.com/downloads/#最新版为 MySQL Community Server 9.2.0 Innovation
3.配置环境变量
此电脑右键 - 属性 - 高级系统设置 - 环境变量 - 系统变量 - 新建 -
MYSQL_HOME 值为 E:\Program Files\mysql-9.2.0-winx64
Path 追加 %MYSQL_HOME%\bin;%MYSQL_HOME%
我把它写成一个脚本文件 "添加MYSQL路径到Path环境变量.cmd", 见文末
4. 配置 my.ini 文件
创建文件 E:\Program Files\mysql-9.2.0-winx64\my.ini
内容:
[mysql]
# utf8mb4
default-character-set=utf8mb4
[mysqld]
# 设置mysql的安装目录
basedir=E:\\Program Files\\mysql-9.2.0-winx64
# 设置mysql数据库的数据的存放目录
datadir=E:\\Program Files\\mysql-9.2.0-winx64\\data
# 设置端口(查看是否占用 netstat -ano | findstr 3306)
port=3306
# 允许最大连接数
max_connections=200
# 允许连接失败的次数
max_connect_errors=10
# 服务端使用的字符集默认为 utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 创建模式
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
5.安装命令及日志
E:\Program Files\mysql-9.2.0-winx64>mysqld -remove
The service doesn''t exist!
E:\Program Files\mysql-9.2.0-winx64>rd /q/s data
E:\Program Files\mysql-9.2.0-winx64>mysqld --initialize --user=mysql --console
2025-03-18T09:04:21.108215Z 0 [System] [MY-015017] [Server] MySQL Server Initialization - start.
2025-03-18T09:04:21.113562Z 0 [Warning] [MY-010915] [Server] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2025-03-18T09:04:21.113732Z 0 [System] [MY-013169] [Server] E:\Program Files\mysql-9.2.0-winx64\bin\mysqld.exe (mysqld 9.2.0) initializing of server in progress as process 156
2025-03-18T09:04:21.129186Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2025-03-18T09:04:21.509195Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2025-03-18T09:04:23.193272Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: rvoBF(;o07W-
2025-03-18T09:04:24.932435Z 0 [System] [MY-015018] [Server] MySQL Server Initialization - end.
E:\Program Files\mysql-9.2.0-winx64>mysqld --install
Service successfully installed.
E:\Program Files\mysql-9.2.0-winx64>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。
6. 参考教程:
https://dev.mysql.com/doc/refman/8.4/en/windows-install-archive.html
https://www.52pojie.cn/thread-1944678-1-1.html
https://blog.csdn.net/weixin_44698389/article/details/105363480
https://blog.csdn.net/atu1111/article/details/105183536
https://zhuanlan.zhihu.com/p/722160133
:: -----------------------------------------------------------------------------------------------------------
文件名: "添加MYSQL路径到Path环境变量.cmd"
文件内容:
@REM 为系统变量PATH增加路径:
@echo off&setlocal EnableDelayedExpansion
:BEGIN
cls
for %%a in ("%CD%\..") do set "path_=%%~fa"
set "path+=%path_%\bin\"
REM set/p path_=请输入你要添加的环境变量的路径:
set "keyPath=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment"
@if not defined path_ goto :ERROR
REM Windows XP skip=4
for /f "skip=2 tokens=1,2,*" %%a in ('reg query "%keyPath%" /v Path') do (
echo 当前的系统环境变量为:
echo %%c&echo;
set/p yesno=是否确认将"%path_%"添加到系统环境变量中去?[Y^|yes]/[N^|no] :
if /i "!yesno!"=="yes" set yesno=y
if /i "!yesno!"=="y" (
set "$path=%%c"
if "!$path:~-1!"==";" set "$path=!$path:~0,-1!"
>nul reg add "%keyPath%" /v Path /t REG_EXPAND_SZ /d "!$path!;%path+%;%path_%" /f
@if !errorlevel!==0 echo.&echo 已成功将文件路径添加到 Path 系统环境变量。重启 Python 窗口生效。&pause&goto :EOF
)
if /i "!yesno!"=="no" set yesno=n
@if /i "!yesno!"=="n" echo.&echo 已取消操作。&pause&goto :EOF
@goto :ERROR
)
@echo "发生未知错误!"&pause&goto :EOF
:ERROR
echo 输入错误,请重新输入。&pause
@goto :BEGIN
:: -----------------------------------------------------------------------------------------------------------
:GetUserPrivilege
@echo off&rem 在域中登录当前用户时,开启来宾用户,成则管理员,败则普通用户
>nul 2>nul net user guest /active:yes
set a=%errorlevel%
if /i %a% EQU 0 goto :1
if /i %a% EQU 5 goto :2
:2
mshta javascript:window.alert("%a%------------------现用户为普通权限------------------%a%");window.close()
@goto :EOF
:1
>nul 2>nul net user guest /active:no
mshta javascript:window.alert("%a%------------------现用户为管理员权限------------------%a%");window.close()
@goto :EOF