ERROR 1045 (28000): Access denied for user ”root”@”localhost” (using password: YES)实用解决方案

这个错误通常表示MySQL无法使用提供的用户名和密码进行登录操作。以下是可能导致此错误的一些原因和相应的解决方案。

原因1:用户名或密码不正确

如果提供的用户名或密码不正确,那么MySQL会提示“Access denied”错误。为了解决这个问题,你需要确认你使用的用户名和密码是正确的。你可以尝试重置密码,方法如下:

  1. 在终端中以root用户身份运行mysql。
    sudo mysql -u root
  2. 执行以下命令来重置root用户的密码:
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
  3. 刷新MySQL的权限:
    FLUSH PRIVILEGES;
  4. 退出MySQL:
    quit
  5. 以新密码重新登录:
    mysql -u root -p

原因2:MySQL未以预期的方式启动

如果MySQL在启动时未按预期方式启动,则可能会导致“Access denied”错误。以下是几个可能的原因和相应的解决方案:

示例1:MySQL未以预期方式在macOS上启动

如果你在macOS上使用Homebrew安装了MySQL,并且MySQL无法启动,那么你可以尝试以下步骤来解决“Access denied”错误:

  1. 关闭MySQL服务:
    brew services stop mysql
  2. 使用以下命令重置MySQL的密码:
    sudo mysql_secure_installation
  3. 确认MySQL的安装目录:
    brew info mysql
  4. 打开MySQL的配置文件:
    open /usr/local/etc/my.cnf
  5. 检查配置文件中是否有以下几个行:
    [mysqld]
    skip-grant-tables

    如果没有,请添加上面的两个行。
  6. 启动MySQL服务:
    brew services start mysql
  7. 再次使用以下命令登录到MySQL:
    mysql -u root -p

示例2:MySQL无法访问/tmp目录

如果MySQL在启动时无法访问/tmp目录,则可能会导致“Access denied”错误。你可以执行以下命令来授权MySQL访问/tmp目录:

sudo chmod -R 777 /tmp

原因3:防火墙阻止了MySQL的访问

如果你的主机或网络中使用了防火墙,那么防火墙可能会阻止MySQL的访问。你可以尝试禁用防火墙或允许MySQL通过防火墙。

示例1:使用ufw禁用Ubuntu上的防火墙

如果你使用的是Ubuntu,并且启用了ufw防火墙,则可以通过以下命令禁用防火墙:

  1. 停止ufw服务:
    sudo ufw disable
  2. 确认ufw已禁用:
    sudo ufw status

示例2:在Windows Server 2016上允许MySQL通过Windows防火墙

如果你使用的是Windows Server 2016,并且启用了Windows防火墙,则可以按照以下步骤允许MySQL通过防火墙:

  1. 打开防火墙高级安全性设置:
    wf.msc
  2. 选择“Inbound Rules”选项卡。
  3. 单击“新建规则”菜单。
  4. 选择“端口”选项并单击“下一步”。
  5. 选择“TCP”选项并输入3306端口号。单击“下一步”。
  6. 选择“允许连接”选项并单击“下一步”。
  7. 输入规则名称并单击“完成”。

完成以上步骤后,你应该可以通过MySQL登录了。如果你仍然无法登录,请检查网络连接并联系系统管理员。

希望以上内容对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ERROR 1045 (28000): Access denied for user ”root”@”localhost” (using password: YES)实用解决方案 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • 快速掌握Node.js环境的安装与运行方法

    下面是快速掌握Node.js环境的安装与运行方法的完整攻略。 安装Node.js环境 Node.js是基于JavaScript的后端编程语言,因此在使用Node.js前需要安装它的环境。 Windows系统 在Node.js的官网(https://nodejs.org/en/)上下载安装包,选择符合你电脑系统的版本。 下载完成后,双击安装包,一直点击“下一步…

    database 2023年5月22日
    00
  • redis实际项目作用

    我整理一下redis主要在项目作用,只是我接触到的 1  手机验证码存入redis中,可以限制什么时候有效 2 防止接口请求频率过高,例如一分钟只能请求5次 代码如下: <?php /** * 获取ip * @return array|false|string */ function getIp() { if (getenv(“HTTP_CLIENT_…

    Redis 2023年4月13日
    00
  • 嵌套子查询、关联子查询和连接操作的区别

    嵌套子查询、关联子查询和连接操作都是SQL中常用的查询方式,它们分别适用于不同的场景,具体区别如下: 嵌套子查询 嵌套子查询是将一个查询语句嵌套到另外一个语句中,内部的查询语句先执行,然后将返回的结果作为外部查询语句的条件。嵌套子查询通常会出现在WHERE和FROM子句中。 下面是一个嵌套子查询的例子,查询学生表中成绩大于80分的学生信息: SELECT *…

    database 2023年3月27日
    00
  • SQL Server数据库基本概念、组成、常用对象与约束

    本文将为大家介绍SQL Server数据库的基本概念、组成、常用对象与约束。SQL Server是微软公司开发的关系型数据库管理系统,支持跨平台使用,是常见企业级数据库系统之一。 SQL Server数据库基本概念 SQL Server数据库包括服务器和数据库两个层次,服务器包含多个数据库。数据库是一种用于保存和管理数据的结构化的、可持久化的数据容器。 SQ…

    database 2023年5月18日
    00
  • mysql数据库修改添加Date格式列的方法

    下面就是mysql数据库修改添加Date格式列的方法的完整攻略: 1. 确定要修改添加Date格式列的表 在mysql数据库中,要修改添加Date格式列的表必须存在。因此,首先需要确定要操作的表名称。 2. 修改添加Date格式列的方法 2.1 修改已有表的Date格式列 如果要修改已有表的Date格式列,需要使用alter table语句,具体如下: AL…

    database 2023年5月22日
    00
  • Redis之无序集合(set)类型命令

    Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。 Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。 集合中最大的成员数为 232 – 1 (4294967295, 每个集合可存储40多亿个成员) 集合的性质: 唯一性,无序性,确定性 注: 在string和lin…

    Redis 2023年4月13日
    00
  • 为什么要使用数据库?数据库有什么作用?

    数据库是指存储数据的集合,其作用在于提供一个结构化的方法来管理数据和应用程序的信息。数据库可以帮助你组织、管理和检索信息,并确保数据的一致性和完整性。 数据库的作用 总的来说,数据库有以下作用: 数据共享 通过使用一个数据库,多个用户能够共享数据。每个用户可根据需要查询和更新这些数据,增强了数据的有效性和准确性。 数据保护 数据库可以提供一系列功能来保护数据…

    数据库 2023年3月8日
    00
  • Python MySQL数据库基本操作及项目示例详解

    Python MySQL数据库基本操作及项目示例详解 本文将为您介绍 Python 语言中如何操作 MySQL 数据库,包括连接数据库、创建表、插入数据、修改数据、删除数据以及查询数据等基本操作,最后还将提供两个项目示例,分别是购物车系统和学生信息管理系统。 一、连接数据库 Python 连接 MySQL 数据库的方式有多种,其中最常见的方式是使用 pymy…

    database 2023年5月21日
    00
合作推广
合作推广
分享本页
返回顶部