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