现象及原因分析

笔者在首次安装完 MySQL 8.0.21 之后又安装了 Navicat Premium ,然后在 新建MySQL连接 时,点击 测试连接 ,连接失败,出现了 错误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

完成之后是这样的:

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服务项点击 “启动” 或 “重新启动”

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

进去之后是这样的,直接 回车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; 回车后效果如图:

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

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

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

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

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

  1. Django链接Mysql 8.0 出现错误(1045:Access denied for user ‘root‘@‘localhost‘ (using password: NO) 的一种解决方法

    Django链接Mysql 8.0 出现错误(1045:Access denied for user 'root'@'localhost' (using password: NO) 的一种解决方法 参 ...

  2. MySql错误1045 Access denied for user 'root'@'localhost' (using password:YES) windows下的解决方案(忘记密码)

    MySql错误1045 Access denied for user 'root'@'localhost' (using password:YES) windows下的解决方案(忘记密码) 1.进入管 ...

  3. MySQL 5.6无法通过Navicat远程连接 1045 - Access denied for user 'root'@'::1' (using password: YES) 的解决办法

    一.背景 最近,一同事在装lamp集成环境的时候,出现了无法连接数据库的情况.lamp环境已经装好,但用navicat远程连接数据库的时候无法连接,提示信息:1045 - Access denied ...

  4. MySql错误1045 Access denied for user 'root'@'localhost' (using password:YES)

    1.先停止mysql服务 2.进入mysql的安装路径,找到并打开my.ini文件,找到[mysqld],在该行下面添加 skip_grant_tables,也就是通知mysql,在登陆的时候跳过密码 ...

  5. mysql8.0 【1045 - Access denied for user ‘root‘@‘localhost‘(using password: YES)】报错

    在项目中连接mysql8.0出现 [1045 - Access denied for user 'root'@'localhost'(using password: YES)]报错 1.在cmd下启动 ...

  6. Navicat连接远程mysql 1045 Access denied for user ‘root‘@‘localhost‘ (using password: YES)

    Navicat连接远程mysql 1045 Access denied for user 'root'@'localhost' (using password: YES)

  7. Error:1045, Access denied for user 'root'@'localhost' (using password: YES) (Phon3.6+Mysql8.1 )

    哇,闹了一个大乌龙,昨天,写了个脚本给之前移植的mysql添加数据,结果一个小问题困了我0.75天. 脚本代码如下:(期间有个小插曲,我把port="3306",报错了,但是很快排 ...

  8. Thinkphp6 SQLSTATE[HY000] [1045] Access denied for user ‘root‘@‘localhost‘ (using password: YES 错误

    Thinkphp6 SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES 错误 出 ...

  9. Mysql 1045 Access denied for user ‘root‘@‘localhost‘ (using password: YES/NO)个人解决方法 分享一下

    前言 Mysql 1045 Access denied for user 'root'@'localhost' (using password: YES/NO) 看了很多篇文章都没解决, 下面是我个人 ...

最新文章

  1. pm2-zabbix 安装与配置
  2. 大型网站技术架构文摘
  3. Eureka出现No instances available for xxx的五种解决方案(不能解决你骂我)
  4. android 标题栏进度圈使用方法,Android 自定义标题栏 显示网页加载进度的方法实例...
  5. 【P1714】切蛋糕(单调队列)
  6. 【转载】在.NET环境中实现每日构建--NAnt篇
  7. 淘宝网物流宝平台11日上线 全面开放API接口
  8. bzoj 1044: [HAOI2008]木棍分割(二分+DP)
  9. 如何在ROS环境中解码.bag格式数据
  10. python的paramiko模块
  11. 哪里有深入学习Oracle的资料
  12. 极限学习机(Extreme Learning Machine, ELM)原理详解和MATLAB实现
  13. MariaDB安装教程(保姆级)
  14. 多功能扩音器索爱S-318,教师、导游们的辅助神器
  15. Rxjava2中Single的just操作符源码学习
  16. 02_性能_内存调整_个人学习小结
  17. wkwebview清空html缓存,清除WKWebView cookies的方法
  18. 新特性解读 | MySQL 8.0 对 limit 的优化
  19. Jsp文件修改后不生效怎么办?
  20. mysql expire_mysql expire_logs_days是怎么生效和计算出来的

热门文章

  1. mysql exercise --- one 建库建表练习参考
  2. 科研入门:文献检索,阅读技巧及工具使用
  3. linux安装jira时的各种坑-记录
  4. 正点原子----Linux设备树详解
  5. IP画像中的重要维度——IP周边
  6. c语言指针哪里难,为什么c语言指针那么难?
  7. 数理基础(概率论)------离散型随机变量均匀分布、正态分布、指数分布图像和连续型随机变量泊松分布、二项分布图像
  8. 【观察】产业云图全新升级背后,紫光云引擎的沉淀与释放
  9. 关于STM32的USB设备库DIY机械键盘
  10. Unix命令运行tomcat