mysql Access denied for user 错误处理

来源:互联网 发布:手机云桌面软件 编辑:程序博客网 时间:2024/05/16 16:15

 

 

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' 需要修改的密码。。

 

 

最后问题解决