MySQL8.0.26 出现错误#1045

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: MySQL8.0.26 出现错误#1045

Navicat首次连接MySQL8.0.26出现错误#1045 - Access denied for user ‘root‘@‘localhost‘(using password: YES)的解决办法:20.png

目录


现象及原因分析

解决方案

注:如果是MySQL 8.0版本及以上的,请直接跳到第 4 步!!!!!!!!

1. 首先确保自己有my.ini文件

2. 在 my.ini 的代码的 [mysqld] 下添加一句 “ skip-grant-tables ”

3. 将 MySQL服务重新启动

4. ,将 MySQL 8.0 Command Line Clien 以 管理员身份 打开

5. 接下来进行 密码的重置 ,将下列代码依次输入

第一步,输入 use mysql; 回车后效果如图:

b第二步,输入 **ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY ‘新密码’;** 回车后效果如图,不要忘记语句后面的 分号 ,同时这里要 修改成自己的密码 ,不要忘了:

第三步,输入 flush privileges; 回车后效果如图:

第四步,输入 quit; 语句后回车,窗口关闭:

6. 至此,密码就重置完成了,接下来就可以去 Navicat 创建新的 MySQL连接 了。



现象及原因分析


笔者在首次安装完 MySQL 8.0.21 之后又安装了 Navicat Premium ,然后在 新建MySQL连接 时,点击 测试连接 ,连接失败,出现了 错误1045 ,如下图所示:


21.png


1045错误

直接的原因就是 密码不对 ,但是笔者确定自己没有记错当时在安装MySQL时设定的密码,所以更深层次的原因笔者也不清楚,但是笔者通过以下方法 (就是直接改密码) ,解决了这个错误实现了连接。


附:笔者当时还有一个现象是打开MySQL 8.0 Command Line Clien,然后输入密码之后就闪退。

(原因也是输错密码了,密码错误的话MySQL 8.0 Command Line Clien也会闪退)


解决方案

注:如果是MySQL 8.0版本及以上的,请直接跳到第 4 步!!!!!!!!

1. 首先确保自己有my.ini文件


,没有就新建一个, 因为笔者是用 msi 安装的,所以没有 my.ini 文件,先创建一个 文本文档 ,取名 my. txt ,然后输入下列代码,之后把 .txt 后缀名改成 .ini即可,文件放在安装目录下 \MySQL Server 8.0 还是 \MySQL Server 8.0\bin 里都可以。


代码如下

[mysql]
; 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
;设置3306端口
port = 3306 
; 这里是你安装mysql的目录
basedir=D:\Softer\MySQL\MySQL Server 8.0
; 这里是设置mysql数据库的数据的存放目录
datadir=D:\Softer\MySQLData\MySQL Server 8.0\Data
; 允许最大连接数
max_connections=200
; 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
; 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

完成之后是这样的:


22.png


2. 在 my.ini 的代码的 [mysqld] 下添加一句 “ skip-grant-tables ”


,之后保存退出,这个的作用是跳过密码检测,等之后改完密码还要把这个语句删掉。

代码如下:

[mysql]
; 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
;设置3306端口
port = 3306 
; 这里是你安装mysql的目录
basedir=D:\Softer\MySQL\MySQL Server 8.0
; 这里是设置mysql数据库的数据的存放目录
datadir=D:\Softer\MySQLData\MySQL Server 8.0\Data
; 允许最大连接数
max_connections=200
; 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
; 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
; 跳过密码检测,之后改完密码还要删掉
skip-grant-tables

注:笔者是在最后添加了语句


3. 将 MySQL服务重新启动


在上一步添加完语句之后,要将 MySQL服务重新启动 。具体是: 计算机或此电脑(右键) — 管理 — 服务和应用程序 — 服务 — 找到MySQL服务项 — 点击 “启动” 或 “重新启动”23.png24.png


4. ,将 MySQL 8.0 Command Line Clien 以 管理员身份 打开


(在进行这一步的时候要确保 MySQL服务 已经运行了!!!) 到 开始菜单栏 ,将 MySQL 8.0 Command Line Clien 以 管理员身份 打开,也可以选系统自带的命令行工具,不过笔者推荐用 MySQL 8.0 Command Line Clien ,25.png

26.png27.png

进去之后是这样的,直接 回车2下 ,进入 mysql 。笔者是 首次安装MySQL 8.0.21 ,对于 8.0版本 及以上的,一开始就能无密码进入, 无需配置my.ini ,并且添加 “ skip-grant-tables ” 语句这招对8.0之后的版本也 不起作用 了,所以之后想改密码的话,要去找找别的办法,笔者目前也还没有试过,所以接下来的步骤对于首次安装 MySQL8.0 的同志们要小心了,密码重置完就不能再用这个办法修改密码了( 慎重 )。



5. 接下来进行 密码的重置 ,将下列代码依次输入

(!!!!!!代码如下:注意copy的时候要连最后面的分号( ; )也要一起复制!!!!!!)


//第一步
mysql>use mysql;
//第二步,设置新密码,语句中‘新密码’ 要改成自己的密码
mysql>ALTER USER 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '新密码';
//第三步
mysql>flush privileges;
//第四步
mysql>quit;


第一步,输入 use mysql; 回车后效果如图:


28.png



b第二步,输入 ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY ‘新密码’; 回车后效果如图,不要忘记语句后面的 分号 ,同时这里要 修改成自己的密码 ,不要忘了:


29.png


第三步,输入 flush privileges; 回车后效果如图:

微信图片_20220625140219.png


第四步,输入 quit; 语句后回车,窗口关闭:


31.png


6. 至此,密码就重置完成了,接下来就可以去 Navicat 创建新的 MySQL连接 了。


332.png

33.png

大功告成,点个赞,给个关注呗


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
缓存 资源调度
解决安装依赖时报错:npm ERR! code ERESOLVE
解决安装依赖时报错:npm ERR! code ERESOLVE
5232 0
解决安装依赖时报错:npm ERR! code ERESOLVE
|
负载均衡 Ubuntu 应用服务中间件
|
关系型数据库 MySQL Go
MySQL连接错误1045:完美解决指南
MySQL连接错误1045:完美解决指南
10979 0
|
5月前
|
监控 Java Unix
6个Java 工具,轻松分析定位 JVM 问题 !
本文介绍了如何使用 JDK 自带工具查看和分析 JVM 的运行情况。通过编写一段测试代码(启动 10 个死循环线程,分配大量内存),结合常用工具如 `jps`、`jinfo`、`jstat`、`jstack`、`jvisualvm` 和 `jcmd` 等,详细展示了 JVM 参数配置、内存使用、线程状态及 GC 情况的监控方法。同时指出了一些常见问题,例如参数设置错误导致的内存异常,并通过实例说明了如何排查和解决。最后附上了官方文档链接,方便进一步学习。
511 4
|
10月前
|
存储 Java 开发者
在 Java 中,如何遍历一个 Set 集合?
【10月更文挑战第30天】开发者可以根据具体的需求和代码风格选择合适的遍历方式。增强for循环简洁直观,适用于大多数简单的遍历场景;迭代器则更加灵活,可在遍历过程中进行更多复杂的操作;而Lambda表达式和`forEach`方法则提供了一种更简洁的函数式编程风格的遍历方式。
4248 113
|
9月前
|
弹性计算 关系型数据库 数据库
从自建到云端,数据库迁移全攻略
本文详细介绍了将自建数据库迁移至阿里云RDS的全过程,涵盖WordPress网站安装、数据库迁移配置及验证等步骤。通过DTS数据传输服务,实现库表结构、全量和增量数据的无缝迁移,确保业务连续性和数据一致性。方案具备零成本维护、高可用性(最高99.99%)、性能优化及全面的数据安全保障等核心优势。此外,提供了详细的图文教程,帮助用户快速上手并完成迁移操作,确保业务稳定运行。点击文末“阅读原文”了解更多详情及参与活动赢取精美礼品。
434 13
|
SQL XML JavaScript
【若依Java】15分钟玩转若依二次开发,新手小白半小时实现前后端分离项目,springboot+vue3+Element Plus+vite实现Java项目和管理后台网站功能
摘要: 本文档详细介绍了如何使用若依框架快速搭建一个基于SpringBoot和Vue3的前后端分离的Java管理后台。教程涵盖了技术点、准备工作、启动项目、自动生成代码、数据库配置、菜单管理、代码下载和导入、自定义主题样式、代码生成、启动Vue3项目、修改代码、以及对代码进行自定义和扩展,例如单表和主子表的代码生成、树形表的实现、商品列表和分类列表的改造等。整个过程详细地指导了如何从下载项目到配置数据库,再到生成Java和Vue3代码,最后实现前后端的运行和功能定制。此外,还提供了关于软件安装、环境变量配置和代码自动生成的注意事项。
21095 67
|
数据可视化 关系型数据库 MySQL
【MySQL】MySQL8.0 创建用户及授权 - 看这篇就足够了
本文介绍了在MySQL 8.0+版本中创建和管理用户的详细步骤,包括通过命令行进入MySQL、创建数据库、用户及授权等操作,并提供了具体命令示例。适合初学者参考学习,帮助实现系统的权限管理和安全控制。
5941 3
【MySQL】MySQL8.0 创建用户及授权 - 看这篇就足够了
|
关系型数据库 MySQL 数据库连接
解决 mysql8.0 ERROR 1045 (28000): Access denied for user ‘ODBC‘@‘localhost‘ (using password: NO)用户访问拒绝
解决 mysql8.0 ERROR 1045 (28000): Access denied for user ‘ODBC‘@‘localhost‘ (using password: NO)用户访问拒绝
5812 52
解决 mysql8.0 ERROR 1045 (28000): Access denied for user ‘ODBC‘@‘localhost‘ (using password: NO)用户访问拒绝
|
10月前
|
网络协议 关系型数据库 MySQL
MySQL报ERROR 2002 (HY000)解决
通过上述步骤,可以有效地解决MySQL连接时出现的 `ERROR 2002 (HY000)`错误。这些步骤包括检查和启动MySQL服务、配置文件检查、套接字文件检查、日志文件分析、进程检查、防火墙设置、客户端配置和最终的MySQL重装。确保每个步骤都按顺序执行,有助于快速定位和解决问题,使MySQL服务器恢复正常运行。
7049 0

热门文章

最新文章