0


解决常见的数据库1045密码错误问题

注:可视化工具 Navicat 15 for MySQL

当我们某天忘记我们的root用户密码,登录不到数据库时,只需要修改root用户的密码即可。

1.首先看一下报错信息1045

在这里插入图片描述

2.看到这个问题,我们可以找到我们MySQL安装路径下的my.ini文件,使用记事本或者edit打开它。

如果不能打开放到桌面进行打开修改。

3.找到**[mysqld]** 一般在第一行,在它的下面加上skip-grant-tables

在这里插入图片描述

加上之后的样子

在这里插入图片描述

那么skip-grant-tables是用来干什么的呢?

skip-grant-tables作为启动参数的作用:MYSQL服务器不加载权限判断,任何用户都能访问数据库。

注意:但是加上它会降低我们数据库的安全性,可以在解决问题之后删除掉它。

如果没有my.ini文件,可以在桌面新建my.ini配置文件,其配置内容如下

注意:要修改成你自己存放的mysql路径。

[mysqld]
skip-grant-tables
#datadir=C:\ProgramFiles\mysql-8.0.31-winx64
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=C:\ProgramFiles\mysql-8.0.31-winx64
# 设置mysql数据库的数据的存放目录
datadir=C:\ProgramFiles\mysql-8.0.31-winx64\\Data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
federated
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# 设置时区(mysqld下)default-time_zone='+08:00'[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306default-character-set=utf8mb4

4.使用管理员身份打开命令行(cmd)

在这里插入图片描述

(1)在命令行中输入 mysql -u root -p,这个命令是连接数据库服务器的命令;遇到Enter passward:直接回车;

在这里插入图片描述

显示这个样子就是成功进入数据库了

(2)接着在下方执行操作:use mysql; 这是选择我们的数据库

在这里插入图片描述

(3)修改数据库用户root密码:update user set password=password(“123456”) where user=“root”;

在这里插入图片描述

需要注意的是:我的MySql版本是8.0.31的相对于5.7版本 在执行上述的修改语句是有语法错误的。

所以我这里使用:ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’; 来修改密码的。

在这里插入图片描述

看到这个结果说明我们已经修改成功了

(4)刷新数据库 flush privileges; 这样就OK了

 最后,人的惰性是非常可怕的,距离上次写博客快半年了,希望大家也有养成好习惯!


本文转载自: https://blog.csdn.net/yiyayiya_w/article/details/128255430
版权归原作者 暮夏有七 所有, 如有侵权,请联系我们删除。

“解决常见的数据库1045密码错误问题”的评论:

还没有评论