XAMPP修改MySQL root用户密码 XAMPP安全性设置

夜辰酱_5885

夜辰酱_5885

2026-04-27

203人浏览

原创

xampp中重置mysql密码须手动以mysqld --skip-grant-tables启动并执行alter user语句,禁用my.ini配置方式;改密后须关闭该进程再启xampp服务,并更新phpmyadmin配置及设置强密码。

xampp修改mysql root用户密码 xampp安全性设置

直接改 my.ini 加 skip-grant-tables 会失败

很多教程教你在 my.ini 的 [mysqld] 段末尾加 skip-grant-tables,然后重启 MySQL——这在 XAMPP 当前主流版本(MySQL 8.0+)中基本无效。MySQL 启动时若发现配置文件里写了 skip-grant-tables,但又加载了权限表(比如 mysql.user 已存在),会直接拒绝启动,并报错 ERROR 1290 (HY000)。

真正能绕过验证的方式,是手动以参数形式启动,且必须确保原服务已彻底退出:

  • 先在 XAMPP 控制面板点 Stop MySQL,再打开任务管理器,杀掉所有 mysqld.exe 进程
  • 用管理员权限打开命令行,进入 C:\xampp\mysql\bin
  • 执行:mysqld --skip-grant-tables --bind-address=127.0.0.1 --port=3306 --console(--console 很关键,能看到启动是否成功或卡在哪)
  • 这个窗口必须保持打开——它就是你的“无权限校验 MySQL 实例”

mysql -u root 登录后,ALTER USER 语法不能乱套

另一个命令行窗口执行 mysql -u root(注意:不加 -p,也不加 -h 127.0.0.1;后者可能触发 socket 切换,导致连不上)。

登录后别急着改密码,先确认当前认证插件:

SELECT User, Host, plugin FROM mysql.user WHERE User = 'root';

结果里 plugin 是 caching_sha2_password(MySQL 8.0 默认)还是 mysql_native_password,决定了你该用哪条语句:

  • 如果是 caching_sha2_password:ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '新密码';
  • 如果是 mysql_native_password:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
  • 执行完必须跟一句:FLUSH PRIVILEGES;(虽然 --skip-grant-tables 下部分权限不生效,但这步对后续正常重启至关重要)

改完密码不关掉 mysqld --skip-grant-tables 窗口,XAMPP 就起不来

很多人重置完以为结束了,直接回控制面板点 Start MySQL——结果失败,日志显示端口 3306 被占用。原因就是那个手动启动的 mysqld 进程还在后台占着端口。

MySQL
MySQL

编写正确的MySQL查询,避免字符集、索引和锁方面的常见陷阱。

下载

必须手动关闭那个运行 mysqld --skip-grant-tables 的命令行窗口(不是最小化,是关掉),然后再点 XAMPP 控制面板的 Start。这时它才会读取原始 my.ini,加载完整权限系统,用你刚设的新密码验证登录。

验证方式很简单:

  • 命令行执行:mysql -u root -p,输入新密码
  • 或者打开 phpMyAdmin,用新密码登录 localhost(如果之前没配过 phpMyAdmin 密码,它默认仍用 root 空密码;重置后需同步更新 config.inc.php 中的 $cfg['Servers'][$i]['password'])

重置完不设强密码,等于白干

XAMPP 默认的 root 空密码或简单密码(如 123456)极容易被本地恶意脚本或扫描工具利用,尤其当你开了远程访问、或把开发机暴露在局域网里时。

建议密码满足:

  • 长度 ≥ 12 位
  • 含大小写字母 + 数字 + 至少一个特殊字符(如 !@#)
  • 不要复用其他系统密码
  • 如果用了 phpMyAdmin,记得进 %xampp%\phpMyAdmin\config.inc.php 更新 $cfg['Servers'][$i]['password'] 字段,否则页面登录会失败

最常被忽略的一点:XAMPP 安全页(http://localhost/security/)里点“Set MySQL password”只是调用一个旧版脚本,它在 MySQL 8.0+ 上大概率报错,不可依赖。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

xampp mysql

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
常用的mysql管理工具
常用的mysql管理工具

常用的mysql管理工具有:1、MySQL Workbench、phpMyAdmin、MySQL Shell、Navicat、DBeaver和DataGrip。更多关于mysql管理工具的问题,详情请看本专题下面的文章,php中文网欢迎大家前来学习。

2023.11.03

5850

11

phpmyadmin导入sql文件失败怎么办
phpmyadmin导入sql文件失败怎么办

在phpmyadmin导入sql文件失败时,可以尝试以下解决方案:1、检查文件权限和格式;2、确保文件字符集与数据库兼容;3、确认表结构兼容;4、检查外键约束和禁用外键检查;5、增加最大上传文件大小;6、分批导入或使用命令行导入;7、联系托管提供商寻求帮助。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.02

3604

7

phpmyadmin怎么改成中文
phpmyadmin怎么改成中文

通过安装中文语言包、将其上传到 phpmyadmin 目录、修改配置文件和重启 phpmyadmin,可以将 phpmyadmin 的界面改为中文。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.07

801

5

phpmyadmin访问不了怎么回事
phpmyadmin访问不了怎么回事

phpmyadmin 无法访问可能是以下原因造成:1、服务器问题:mysql 服务未运行或防火墙阻止访问;2、配置问题:安装/配置错误、错误的配置文件设置或缺少必要的 php 扩展;3、浏览器问题:浏览器缓存、扩展干扰或浏览器不兼容;4、其他原因:dns 问题、恶意软件或网络连接问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.07

899

6

phpMyAdmin安装教程大全
phpMyAdmin安装教程大全

本专题整合了phpMyAdmin程序安装相关教程,阅读专题下面的文章了解更多详细内容。

2025.10.31

905

23

PHPMyadmin配置
PHPMyadmin配置

本专题整合了phpmyadmin配置相关教程,阅读专题下面的文章了解更多详细步骤。

2025.12.04

529

19

XAMPP 与 phpMyAdmin 数据库管理实操
XAMPP 与 phpMyAdmin 数据库管理实操

专注于 XAMPP 内置的 phpMyAdmin 数据库管理工具,系统讲解数据库和数据表的创建与设计、SQL 语句执行、CSV/SQL 格式数据的导入导出、定时备份与一键还原、多数据库批量管理等日常操作,帮助开发者高效管理本地 MySQL 数据。

2026.04.08

355

26

XAMPP用法详解
XAMPP用法详解

本专题整合了XAMPP相关用法介绍,阅读专题下面的文章了解更多详细内容。

2026.04.08

253

20

XAMPP 安装与快速入门指南
XAMPP 安装与快速入门指南

面向零基础用户,详细介绍 XAMPP 在 Windows、macOS、Linux 三大平台上的下载、安装步骤、首次启动配置、控制面板使用以及 Apache/MySQL 服务的基本启停操作,帮助初学者在最短时间内搭建起可用的本地开发环境。

2026.04.08

230

23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程