码迷,mamicode.com
首页 > 数据库 > 详细

Access denied for user 'root@localhost' (using password:NO)问题的解决

时间:2019-10-23 15:17:19      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:服务   truncate   arp   sharp   ESS   退出   情况下   其他   mysql   

错误详情

使用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服务

[root ~]# net stop mysql

2.在没有任何特权的情况下启动mysql:

首先找到mysql安装路径,找到my.ini文件,在该文件末尾加上skip-grant-tables

然后启动mysql服务

[root ~]# net start mysql 

3.输入mysql命令符

[root ~]# mysql -u root
mysql> 

4.修复root用户的权限设置

mysql> use mysql;
Database changed
mysql> select * from  user;
Empty set (0.00 sec)
mysql> truncate table user;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> grant all privileges on *.* to root@localhost identified by ‘YourNewPassword‘ with grant option;
Query OK, 0 rows affected (0.01 sec)

确认结果:

    mysql> select host, user from user;
+-----------+------+
| host      | user |
+-----------+------+
| localhost | root |
+-----------+------+
1 row in set (0.00 sec)

5.退出外壳程序并以正常模式重启mysql

mysql> quit;
[root ~]# kill -KILL [PID of mysqld_safe]
[root ~]# kill -KILL [PID of mysqld]
[root ~]# service mysql start

6.现在,可以使用设置的密码以root用户身份成功登录

 [root ~]# mysql -u root -pYourNewPassword 
 mysql> 

  

 

Access denied for user 'root@localhost' (using password:NO)问题的解决

标签:服务   truncate   arp   sharp   ESS   退出   情况下   其他   mysql   

原文地址:https://www.cnblogs.com/AIchangetheworld/p/11726383.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!