隐藏页面特效

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 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   AI未来10Y  阅读(28863)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示