OpenStack 部署中創建業務用戶:
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'pass';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'pass';
FLUSH PRIVILEGES;
但本地登錄失敗:
mysql -h localhost -u keystone -ppassword
ERROR 1045 (28000): Access denied for user 'keystone'@'localhost'
MySQL 安裝默認創建匿名用戶(user=''),權限表匹配優先級:
'keystone'@'localhost'(精確匹配)''@'localhost'(匿名用戶,匹配任意用戶名)'keystone'@'%'(通配符主機)登錄時實際匹配到匿名用戶 ''@'localhost',但該用戶無密碼/權限不足,導致拒絕。
USE mysql;
DELETE FROM user WHERE user = '';
FLUSH PRIVILEGES;
mysql -h localhost -u keystone -ppassword
-- 登錄成功
mysql_secure_installation
此腳本會:
具體用戶+具體主機 > 匿名用戶+具體主機 > 具體用戶+通配主機 > 匿名用戶+通配主機