错误 1045 (28000):用户“root”@“localhost”的访问被拒绝

2024-02-08

所以我第一次安装了MySQL应用程序。首先我看到命令行客户端没有打开,所以我寻找解决方案。他们说我必须进入 bin 目录并手动运行它。在我运行cmd之后mysql -uroot -p运行它并输入密码,它给了我错误:错误 1045 (28000):用户“root”@“localhost”的访问被拒绝 我尝试了 stackoverflow 上的每一个解决方案,包括禁用权限、手动运行我上面提到的、从 service.msc 启动服务、使用密码运行它和不使用密码......它只是不想工作。感谢您提前提供的任何帮助。


通用 MYSQL 信息

首先,阅读 mysql 手册:https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html

这些步骤将向您展示如何关闭服务并使用不需要密码的覆盖命令启动它,然后重置密码。从手册中:

停止 MySQL 服务器,然后使用以下命令重新启动它--skip-grant-tables选项。这使得任何人都可以在没有密码的情况下以所有权限进行连接,并禁用帐户管理语句,例如ALTER USER and SET PASSWORD。因为这是不安全的,您可能想要使用--skip-grant-tables和这个结合--skip-networking以防止远程客户端连接。

使用mysql客户端连接MySQL服务器;不需要密码,因为服务器是用--skip-grant-tables:

shell> mysql

在 mysql 客户端中,告诉服务器重新加载授权表,以便帐户管理语句起作用:

mysql> FLUSH PRIVILEGES;

然后更改'root'@'localhost'户口密码。将密码替换为您要使用的密码。要更改具有不同主机名部分的 root 帐户的密码,请修改说明以使用该主机名。

MySQL 5.7.6 及更高版本:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

MySQL 5.7.5 及更早版本:

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');

或者直接在用户表上:

UPDATE mysql.user SET password=PASSWORD('mynewpassword') WHERE user='root';

XAMPP 特定

停止 MySQL 服务。打开一个命令窗口。切换到 XAMPP MySQL 目录:

> cd \xampp\mysql\bin\

在没有安全性的情况下运行服务(注意您正在运行 mysqld,而不是 mysql):

> mysqld.exe --skip-grant-tables

MySQL服务将在此窗口中运行,因此打开另一个命令窗口并切换到XAMPP MySQL目录:

> cd \xampp\mysql\bin\

运行MySQL客户端:

> mysql

更新密码:

mysql> UPDATE mysql.user SET password=PASSWORD('mynewpassword') WHERE user='root';

退出MySQL:

mysql> \q

使用任务管理器取消仍在运行的mysqld.exe。重新启动 mysql 服务。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

错误 1045 (28000):用户“root”@“localhost”的访问被拒绝 的相关文章

  • 在 PHP 字符串中格式化 MySQL 代码

    是否有任何程序 IDE 可以在 PHP 字符串中格式化 MySQL 代码 例如 我使用 PHPStorm IDE 但它无法做到这一点 它对 PHP 和 MYSQL 执行此操作 但不适用于 php 字符串内的 MYSQL 我已准备好使用新的
  • 在mysql中的单个查询中更新多个表

    我有三个查询 我想要一个 这是我的查询 UPDATE tab1 SET a WHERE id 3 UPDATE tab2 SET b WHERE id 9 UPDATE tab3 SET c WHERE id 5 您可以尝试下面的代码 UP
  • 显示标准化数据

    跟进问题 添加 2 个不同表的总和 https stackoverflow com questions 39717541 adding sum from 2 different tables 我创建了3个表 members videos v
  • MySql - 复制监控工具[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个主 从 MySql 复制 我正在寻找一个允许我监视复制的工具 查看它没有错误 检查滞后等 我更喜
  • MySQL - 从临时表插入

    这看起来非常简单 但我坚持使用简单的插入语句 见下文 begin work CREATE TEMPORARY TABLE IF NOT EXISTS insert table AS select r resource id fr file
  • 不允许在 php 中连接到此 MariaDB 服务器

    我尝试在 php 中连接远程服务器数据库 但出现以下错误 Host xx xxx xx xx is not allowed to connect to this MariaDB server in 我的连接代码是这样的 servername
  • 合并两个 MYSQL SELECT 查询[重复]

    这个问题在这里已经有答案了 可能的重复 如何将两个 Post Category 表 MYSQL SELECT 查询合并为一个 https stackoverflow com questions 12972130 how to combine
  • Google Cloud SQL 在重新启动时卡住

    我的云 sql 实例长时间处于重新启动状态 在操作窗格中 重新启动的状态显示为待处理 并且还发生了导出 其状态仍为Running 有没有办法可以强制重新启动或取消重新启动或从常规备份中恢复数据 不 没有办法 如果您向 Google 支付高级
  • 只获取倒数第二条记录 - mysql-query

    我有一个如下表记录 my table id rating description 1 0 0 bed 2 1 0 good 3 0 0 bed 4 1 0 good 5 0 0 bed 6 0 0 bed 7 0 0 bed 现在我通过评级
  • 不带 GROUP BY 的聚合查询

    这个查询似乎在我的旧机器上完美运行 但是 在我的 MySQL 5 7 14 和 PHP 5 6 25 的新机器上 它会抛出错误 致命错误 未捕获异常 PDOException 并带有消息 SQLSTATE 42000 语法错误或访问冲突 1
  • libmysqlclient.a 和 libmysqlclient_r.a 有什么区别?

    我应该使用哪个来链接 mysqlclient 库 它们之间有什么区别 我似乎找不到答案 谢谢 较新版本的 MySQL 客户端发行版不包含 r 版本 有些可能有从 libmyqslclient r a 到 libmyqslclient a 的
  • SQL Join 列上类似于另一列[重复]

    这个问题在这里已经有答案了 可能的重复 mysql连接查询使用like https stackoverflow com questions 1930809 mysql join query using like 我想要进行连接 其中一列包含
  • PHP 和 MySQL - 高效处理多个一对多关系

    我正在寻求一些有关使用 MySQL 和 PHP 检索和显示数据的最佳方法的建议 我有 3 个表 所有一对多关系如下 Each SCHEDULE有很多覆盖每个覆盖都有很多地点 我想检索这些数据 以便它可以全部显示在单个 PHP 页面上 例如列
  • 无法在 Mac 上启动 MySQL

    使用 Brew 安装后 我无法运行 MySQL 我使用的是 OS X El Capitan 版本 10 11 3 和 MySQL Server 版本 5 7 11 当我启动服务器时 我收到 启动 MySQL 错误 服务器退出而不更新 PID
  • MySQL 错误 1172 - 结果包含多行

    在存储过程中运行查询时 我从 MySQL 收到此错误 错误代码 1172 结果包含多行 我理解错误 我正在做一个SELECT INTO var list 因此查询需要返回单行 当我使用LIMIT 1 or SELECT DISTINCT 错
  • MySQL 排序顺序 - 排序规则?

    我在对 MySQL 中的 char 字段进行排序时遇到困难 问题是重音字符与非重音字符混淆 例如 Abc bd Acc 我认为这可能与整理有关 所以我将表格的排序规则更改为utf8 ut8 bin 看完之后这个帖子 https stacko
  • mysql 中的二进制、十六进制和八进制值

    我对在 mysql 数据库中使用二进制 十六进制和八进制系统非常感兴趣 首先 请给我一个建议 为什么我们在存储信息时需要它们 因为信息太多 或者为什么 另外 哪种类型的值必须存储在标记系统中 另外这里还有像 这是例子 gt SELECT 5
  • MySQL/PDO::quote() 尽管使用 PDO::PARAM_INT 参数,但仍在整数周围加上引号

    无论我传递给什么值 数据类型对 它都会出现 pdo gt quote value type 它总是将其引用为字符串 echo pdo gt quote foo PDO PARAM STR foo as expected echo pdo g
  • Mysql插入表后不显示右单引号(’)

    我有一个名为 测试 的表 我插入了一行 其中包含unicode字符右单引号 0x2019在名称字段中 SQL insert into Testing values Sno Name Address insert into Testing v
  • mysql排序和排名语句

    我需要一些 mysql 语句的帮助 我的表 1 有 7 列 表 2 有 8 列 额外的列名为排名 我的语句应该是这样的 从表 1 中选择全部 然后按 用户数 排序 将其插入表 2 中并排名开始 1 2 3 等 table 1 usernam

随机推荐