解决连接远程服务器MySQL“ACCESS DENIED FOR USER‘ROOT‘@‘IP地址‘“问题

项目场景:

提示:这里简述项目相关背景:记录一下navicat远程连接数据库失败,解决连接远程服务器MySQL“ACCESS DENIED FOR USER‘ROOT‘@‘IP地址‘“问题


问题描述

提示:这里描述项目中遇到的问题:

navicat远程连接数据库失败,出现以下报错。
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/976a64cd9f9e490aa760e0a78fa6967f.png在这里插入图片描述

告诉我用户root拒绝访问。

跟着这个链接的文章修改,发现有些出入,所以记录一些

原因分析:

提示:这里填写问题的分析:
现在来一步步排查

1 难道是我的密码错误?

我登录我的远程连接服务器,
将密码了修改一下(大家可以去搜忘记密码教程)

输入mysql -u root -p 输入密码,又成功访问/到了mysql,
连接navicat试试,结果还是不行
那说明不是密码的问题(划重点!!!!)
在这里插入图片描述
在这里插入图片描述

2难道是没有给root用户权限吗

输入show grants;
出现划红线字符串,果然是没有给root权限,这个的意思就是本数据库只允许本地访问,其他ip的主机访问不到
在这里插入图片描述

解决方案:

提示:这里填写该问题的具体解决方案:

跟着教程输入,

1改表法

在这里插入图片描述
发现root的host已经是对所有ip都开放了

2 授权法

跟着教程敲





```java
 #给用户授权
grant all privileges on *.* to "root"@"%";

``
果然成功了
在这里插入图片描述

接着再输入以下,刷新一下用户权限

flush privileges;

本来以为皆大欢喜,输入

show grants;

发现/数据库还是没有对外开放权限

在这里插入图片描述

3 难道说数据库需要重启一下?

先使用以下命令查看数据库状态,是active证明数据库是启动的,

systemctl restart mysqld

再使用以下命令重启一下

service mysqld restart

在这里插入图片描述
连接一下navicat,还是错误

4 难道说我的数据库端口不是3306吗?

输入以下代码,结果出来是3306啊

show global variables like 'port';

在这里插入图片描述

很奇怪,为什么我修改root用户可以访问的ip地址失败呢

5难道是我的3306端口没开?

输入以下命令,服务器的端口也开了,腾讯云上面的防火墙也开了3306

firewall-cmd --list-ports

在这里插入图片描述

6 查看错误日志,爆could not be resolved: Name or service not known

百度说我my.cnf没有加这个参数

skip-name-resolve

然后重启mysql
在这里插入图片描述
在这里插入图片描述

结果navicat还是连接不上

总结:mysql感觉可能被弄坏了
在这里插入图片描述

7最后再努力一波,连不上这云服务器可就白费了,重置密码

本博主特意去请教了高人。
高人看了看,想起对我智障一般的印象,轻描淡写说让我把密码重改试试。
当时我反应贼大,不可能密码错误,我还访问本地的数据库成功了呢,证据如下:
怎么可能犯这种错误,你在 开什么玩笑
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/7fdf23173cbf4456a52887b2debc0277.png在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在大佬再三肯定加催促下,我不以为意地修改了密码

alter user 'root' identified by '密码';
flush privileges;

在这里插入图片描述
居然!!!!!!!!五雷轰顶
博主当时表情真的如下:

在这里插入图片描述
在这里插入图片描述
整个人当场从椅子上摔下来,雷的我前仰马翻

他说:哈哈,果然没错把,只有你们新手才能整出这么奇异的问题~~~
我说:不!一定是哪里出错!!!
在这里插入图片描述
他说:没有哪里出问题,就是你输入错了,不行你再试试

我不死心,把密码又改回去,发现,嘶。。。连上了。。。
在这里插入图片描述
博主当时内心os:

8 有种80岁老大爷半夜走了八百公里,挑扁担来回800次浇菜,第二天起来发现是别人菜地的无力感加羞耻感

始终怀疑我聪明的脑瓜子怎么会出这种错
一定是系统的问题

在这里插入图片描述
好。。。我信大佬。。。死心了
再一次巩固了我在大佬心中智障印象的地位
在这里插入图片描述
本来以为这个博客是科普篇,没想打是搞笑篇

  • 16
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
回答: 当出现"Access denied for user 'root'@'localhost'"错误时,这通常是由于MySQL默认不允许root用户进行远程登录所致。为了解决这个问题,你可以按照以下步骤进行操作。首先,确保你以管理员身份打开cmd命令窗口。然后,你可以尝试修改root用户的权限,使其允许远程登录。你可以在服务器上下载一个数据库可视化界面,使用root登录后,打开mysql数据库的user表,将root用户的host值设置为ip地址,并将相应的权限改为Y。这样就可以解决"Access denied for user 'root'@'localhost'"的问题了。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *3* [Access denied for userroot‘@解决方案](https://blog.csdn.net/VVVXXXLLL/article/details/112062448)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Access denied for userroot‘@‘localhost‘ (using password: NO](https://blog.csdn.net/m0_45360922/article/details/120214900)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值