MySQL密码正确却无法本地登录的解决方法

请看下面的完整攻略。

问题描述

在使用MySQL数据库时,我们有时会遇到一个问题:输入正确的密码后,无法在本地登录。这种情况可能出现在新安装MySQL时,或者更新系统后,等等。那么,应该如何解决这个问题呢?

解决方法

1. 检查MySQL是否启动

首先,我们需要检查MySQL是否已经启动。要查看系统上是否正在运行MySQL,请使用以下命令:

sudo systemctl status mysql

如果MySQL未运行,请使用以下命令启动MySQL:

sudo systemctl start mysql

如果MySQL已经在运行中,请继续阅读下面的内容。

2. 检查MySQL的用户和密码

在启动MySQL前,确保使用什么用户以及什么密码来连接MySQL。如果你不确定使用的用户和密码是什么,可以通过以下命令来重置密码:

sudo mysql_secure_installation

按照提示设置密码后,使用以下命令登录MySQL:

mysql -u用户名 -p密码

如果你能够成功连接MySQL,则说明你的账户和密码正确。

3. 检查MySQL用户的主机

如果你已经确认了用户名和密码,并且MySQL已经在运行中,但仍然无法登录,那么可能是因为MySQL用户不被允许从本地主机登录。为了检查这个问题,我们可以使用以下命令:

SELECT user,host FROM mysql.user;

这个命令将会列出MySQL用户的列表和它们的主机名。确保你的本地主机名已经包含在其中。如果没有,使用以下命令添加允许从本地主机登录的用户:

GRANT ALL PRIVILEGES ON *.* TO '用户名'@'localhost' IDENTIFIED BY '密码' WITH GRANT OPTION;

然后,使用以下命令刷新权限表:

FLUSH PRIVILEGES;

现在,你就可以使用正确的用户名和密码从本地主机访问MySQL了。

示例

示例1:重新安装系统后无法登录MySQL

有一天,你升级了你的操作系统,然后发现不能从本地登录MySQL,即使密码输入正确也是如此。那么,你应该做什么?

首先,检查MySQL是否启动。使用以下命令查看MySQL服务的运行状态:

sudo systemctl status mysql

如果显示MySQL未运行,可以使用以下命令启动MySQL:

sudo systemctl start mysql

现在,检查MySQL的用户和密码是否正确。如果你不记得你的用户名或密码,可以使用以下命令重置密码:

sudo mysql_secure_installation

接下来,使用以下命令登录MySQL:

mysql -u用户名 -p密码

如果你仍然无法登录MySQL,请检查MySQL用户的主机名。使用以下命令来查看MySQL用户的列表和它们的主机名:

SELECT user,host FROM mysql.user;

如果不包含你的主机,可以使用以下命令添加一个新的允许从本地主机登录的用户:

GRANT ALL PRIVILEGES ON *.* TO '新用户名'@'localhost' IDENTIFIED BY '新密码' WITH GRANT OPTION;

如果MySQL仍然不能被本地登录,您可能需要重新安装MySQL。

示例2:修改了MySQL用户的主机名后无法登录

你在MySQL用户的主机名上做了一些修改,然后你发现你不能从本地登录MySQL。那么,你应该做什么?

首先,使用以下命令查看MySQL用户的列表和它们的主机名:

SELECT user,host FROM mysql.user;

现在,检查你的本地主机名是否出现在列表中。如果没有出现,使用以下命令为此用户添加一个新的主机名:

GRANT ALL PRIVILEGES ON *.* TO '用户名'@'新主机名' IDENTIFIED BY '密码' WITH GRANT OPTION;

请记得使用新的主机名替换 '新主机名'。然后,使用以下命令刷新权限表:

FLUSH PRIVILEGES;

现在,你的MySQL用户就能够从本地登录了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL密码正确却无法本地登录的解决方法 - Python技术站

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

相关文章

  • MySQL慢查询日志(Slow Query Log)

    MySQL慢查询日志是MySQL默认开启的一种日志记录,它可以用来记录MySQL中执行查询语句过程中耗时长的查询语句,以便于后期对这些查询进行优化,以提高MySQL服务器的性能。 MySQL慢查询日志可以记录下查询的时间、执行的SQL语句、所用的索引、扫描的行数、返回的行数等信息,这些信息都可以用来帮助我们分析SQL语句的性能问题,以及查找潜在的性能瓶颈所在…

    MySQL 2023年3月10日
    00
  • 查看当前mysql数据库实例中,支持的字符集有哪些,或者是否支持某个特定字符集

    需求描述:   查看当前mysql实例中支持哪些字符集,过滤特定的字符集 操作过程: 1.通过show character set来进行查看 mysql> show character set; +———-+———————————+———————+——–+ |…

    MySQL 2023年4月13日
    00
  • 一次docker登录mysql报错问题的实战记录

    下面我将为你详细讲解一次docker登录mysql报错问题的实战记录的完整攻略。 问题描述 在使用 docker 运行 mysql 时,执行docker exec -it mysql bash进入mysql容器内后使用mysql -uroot -p命令登录 mysql 数据库时,报错如下: ERROR 1045 (28000): Access denied …

    MySQL 2023年5月18日
    00
  • 分析MySQL中优化distinct的技巧

    下面是关于“分析MySQL中优化distinct的技巧”的完整攻略: 1. DISTINCT 概述 DISTINCT 是 MySQL 中常用的关键词之一,它用于返回记录集中不同的值。一般在查询时,我们用 SELECT DISTINCT column1, column2, … FROM table_name; 进行查询,就能返回某些列的不同值。使用 DIS…

    MySQL 2023年5月19日
    00
  • 详解MySQL算术运算符

    MySQL中的算术运算符包括加(+)、减(-)、乘(*)、除(/)、取模(%)等。下面分别介绍它们的使用方法并提供实例说明。 加法运算符(+) 加法运算符用于两个数值类型的数据相加,也可以用于字符串类型的数据拼接。 实例: SELECT 2+2; — 输出4 SELECT 'Hello'+' World'; — 输…

    MySQL 2023年3月9日
    00
  • linux mysql定时备份并压缩

    1.检查mysql备份命令有没有作用 在var目录下创建backup目录,在backup目录下创建mysql目录用于存放mysql备份文件 cd到/var/backup目录下 mysqldump -uroot -pwh5268925 zhaochao > mysql/zhaochao.sql 如果成功,在/var/backup/mysql下会有zhao…

    MySQL 2023年4月13日
    00
  • 详解MySQL CROSS JOIN:交叉连接

    MySQL CROSS JOIN是一种关系型连接操作,它将两个表的所有组合关系作为结果返回。对于每个表中的每行,它将与另一个表中的每行进行匹配,并创建一个新的结果表,其中每行将包含两个表中的所有列的结果。 CROSS JOIN语法如下: SELECT * FROM table1 CROSS JOIN table2; 这将将表1中的每个行与表2中的每个行组合,…

    MySQL 2023年3月9日
    00
  • 云时代,MySQL到ClickHouse数据同步产品对比推荐

    ClickHouse 在执行分析查询时的速度优势很好的弥补了 MySQL 的不足,但是对于很多开发者和DBA来说,如何将MySQL稳定、高效、简单的同步到 ClickHouse 却很困难。本文对比了 NineData、MaterializeMySQL(ClickHouse自带)、Bifrost 三款产品,看看他们在同步时的差异。 对比结果概述 整体上,Nin…

    MySQL 2023年4月19日
    00
合作推广
合作推广
分享本页
返回顶部