7、mysql创建数据库失败,提示Access denied for user ''@'localhost'

    今天在连接自己电脑上的mysql时,提示“Access denied for user ''@'localhost' to database”。

初步判断是用户不对,因为localhost前面都没有用户名,而我是以特定用户登录的,是肯定有用户名的。以前改过电脑的域,可能是这个原因所致。

解决方法:

1)采用[1]中提供的重新初始化密码:

/usr/bin/mysql_secure_installation

2)可以尝试采用[2]中方法(我未试,方法1已解决问题)

    另外,通过show grants;查看授权,通过 select current_user();查看当前用户,通过select user,host,password from mysql.user; 查看相关的用户名和host

参考

1】 使用mysql的一个实例

http://www.cnblogs.com/mydomain/archive/2011/08/18/2144961.html

2】 同类问题解决经验

http://bbs.linuxpk.com/thread-22953-1-6.html

关闭mysql:

# service mysqld stop

然后:

# mysqld_safe --skip-grant-tables

启动mysql:

# service mysqld start

mysql -u root

mysql> use mysql

mysql> UPDATE user SET Password=PASSWORD('xxx') WHERE user='root';

mysql> flush privileges;

mysql>\q

posted @ 2011-11-10 00:05  浪里飞  阅读(6308)  评论(0编辑  收藏  举报