mysql增加新用户无法登陆解决方法

时间:2022-05-28 02:28:02

今天安装openstack folsom版本,安装完mysql,为各个服务增加对应的数据库和用户后,发现 
无法使用新增的用户登陆mysql。我增加用户的方法如下: 
mysql -uroot -p$MYSQL_PASS <<EOF 
CREATE DATABASE nova; 
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY '$MYSQL_PASS'; 
CREATE DATABASE glance; 
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY '$MYSQL_PASS'; 
CREATE DATABASE keystone; 
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%'IDENTIFIED BY '$MYSQL_PASS'; 
CREATE DATABASE cinder; 
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%'IDENTIFIED BY '$MYSQL_PASS'; 
CREATE DATABASE quantum; 
GRANT ALL PRIVILEGES ON quantum.* TO 'quantum'@'%'IDENTIFIED BY '$MYSQL_PASS'; 
FLUSH PRIVILEGES; 
EOF 
但使用用户登陆失败: 
root@controller:~# mysql -h localhost -ukeystone -ppassword 
ERROR 1045 (28000): Access denied for user 'keystone'@'localhost' (using password: YES) 
解决方法: 
增加普通用户后,执行: 
mysql> use mysql 
mysql> delete from user where user=''; 
mysql> flush privileges; 
意思是删除匿名用户。 
OK,搞定,enjoy!