Access denied for user 'root@localhost' (using password:NO)问题的解决
错误详情:
使用pymysql连接数据库mysql,一直无法连接上,
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='1234', db='test', charset='utf8')
原因是自己的mysql没有密码,即root进入直接enter就可以进入数据库,但这样的数据库在使用其他连接可能都会出现这种问题,所以解决问题的第一步就是给root设置一个密码。
步骤如下:
[root ~]# mysql -u root ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:NO)
1.停止mysql服务
1 2 3 | <code-pre class = "code-pre" id= "pre-caBkjN" ><code-line class = "line-numbers-rows" ></code-line>[root ~]# net stop mysql <code-line class = "line-numbers-rows" ></code-line> </code-pre> |
2.在没有任何特权的情况下启动mysql:
首先找到mysql安装路径,找到my.ini文件,在该文件末尾加上skip-grant-tables
然后启动mysql服务
1 2 3 | <code-pre class = "code-pre" id= "pre-5saATY" ><code-line class = "line-numbers-rows" ></code-line>[root ~]# net start mysql <code-line class = "line-numbers-rows" ></code-line> </code-pre> |
3.输入mysql命令符
1 2 3 4 | <code-pre class = "code-pre" id= "pre-8GByDG" ><code-line class = "line-numbers-rows" ></code-line>[root ~]# mysql -u root <code-line class = "line-numbers-rows" ></code-line>mysql> <code-line class = "line-numbers-rows" ></code-line> </code-pre> |
4.修复root用户的权限设置
1 2 3 4 5 6 7 8 9 10 11 | <code-pre class = "code-pre" id= "pre-nMBfik" ><code-line class = "line-numbers-rows" ></code-line>mysql> use mysql; <code-line class = "line-numbers-rows" ></code-line>Database changed <code-line class = "line-numbers-rows" ></code-line>mysql> select * from user; <code-line class = "line-numbers-rows" ></code-line>Empty set (0.00 sec) <code-line class = "line-numbers-rows" ></code-line>mysql> truncate table user; <code-line class = "line-numbers-rows" ></code-line>Query OK, 0 rows affected (0.00 sec) <code-line class = "line-numbers-rows" ></code-line>mysql> flush privileges; <code-line class = "line-numbers-rows" ></code-line>Query OK, 0 rows affected (0.01 sec) <code-line class = "line-numbers-rows" ></code-line>mysql> grant all privileges on *.* to root@localhost identified by 'YourNewPassword' with grant option; <code-line class = "line-numbers-rows" ></code-line>Query OK, 0 rows affected (0.01 sec) </code-pre> |
确认结果:
1 2 3 4 5 6 7 8 9 | <code-pre class = "code-pre" id= "pre-fTByKj" ><code-line class = "line-numbers-rows" ></code-line> mysql> select host, user from user; <code-line class = "line-numbers-rows" ></code-line>+-----------+------+ <code-line class = "line-numbers-rows" ></code-line>| host | user | <code-line class = "line-numbers-rows" ></code-line>+-----------+------+ <code-line class = "line-numbers-rows" ></code-line>| localhost | root | <code-line class = "line-numbers-rows" ></code-line>+-----------+------+ <code-line class = "line-numbers-rows" ></code-line>1 row in set (0.00 sec) <code-line class = "line-numbers-rows" ></code-line> </code-pre> |
5.退出外壳程序并以正常模式重启mysql
1 2 3 4 5 6 | <code-pre class = "code-pre" id= "pre-EerRfK" ><code-line class = "line-numbers-rows" ></code-line>mysql> quit; <code-line class = "line-numbers-rows" ></code-line>[root ~]# kill -KILL [PID of mysqld_safe] <code-line class = "line-numbers-rows" ></code-line>[root ~]# kill -KILL [PID of mysqld] <code-line class = "line-numbers-rows" ></code-line>[root ~]# service mysql start <code-line class = "line-numbers-rows" ></code-line> </code-pre> |
6.现在,可以使用设置的密码以root用户身份成功登录
1 2 3 4 | <code-pre class = "code-pre" id= "pre-A8QewR" ><code-line class = "line-numbers-rows" ></code-line> [root ~]# mysql -u root -pYourNewPassword <code-line class = "line-numbers-rows" ></code-line> mysql> <code-line class = "line-numbers-rows" ></code-line> </code-pre> |
__EOF__

本文作者:techgy
本文链接:https://www.cnblogs.com/techgy/p/11726383.html
关于博主:I am a good person
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/techgy/p/11726383.html
关于博主:I am a good person
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)