mysql Access denied for user 错误处理

本文介绍了解决MySQL连接错误1045的方法,包括添加和管理用户、检查权限设置、修正user表中的NULL值等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

MySQL中出现连接错误:
               ERROR 1045 (28000): Access denied for user
----------------------------------------------------------------------------------
1.添加用户
shell>mysql
mysql>use mysql
mysql>grant all privileges on *.* to 'test' identified by 'test' with grant option;
mysql>flush privileges;
[也可以使用下面两种方式建立用户]
------------------------
  $1直接操作mysql.user这张表;
  $2使用DDL语言,
    定义用户:create user test identified by 'test';
    删除用户:drop user test
------------------------
 
2.使用test登录(总是无法连接)
shell>mysql -u test -p
ERROR 1045 (28000): Access denied for user 'test'@'localhost' (using password: YES)
 
 
3.查看user表,我们会发现user表中的user字段有NULL
mysql> select host,user from user;
+------------------+------+
| host             | user |
+------------------+------+
| %                | test | 
| localhost        |      | 
| localhost        | root | 
| test.saeg.com.cn |      | 
| test.saeg.com.cn | root | 
+------------------+------+
5 rows in set (0.00 sec)
 
4.删除user.user中值为NULL的,或更新NULL为test
   4.1)delete from user where user is NULL
   4.2)update user set user='test' where user is NULL

 

 

5.参看用户权限

 show grants for root@'localhost';

 

+------------------------------------------------------------------------------------------------------------------------------------------------+

 

 

 

 

 

 

| Grants for test@%                                                                                                              |

+------------------------------------------------------------------------------------------------------------------------------------------------+

 

 

 

 

 

 

| GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' IDENTIFIED BY PASSWORD '*dfg' WITH GRANT OPTION |

+------------------------------------------------------------------------------------------------------------------------------------------------+

 

 

 

 

 

 

 


 


因为你的帐号权限问题才导致此错误。。。所以你要把你访问数据库的帐号的权限改一下。。

具体格式如:grant all on mysql.* to 'root'@'localhost' identified by 'password'; 
1。mysql.* 你访问的数据库名字。

2。root' 你的用户名

3。'password' 需要修改的密码。。

 

 

最后问题解决

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值