当我在mysql中创建用户时,请遵循以下步骤:
CREATE USER IF NOT EXISTS 'devadmin'@'localhost' IDENTIFIED BY 'admindev';
GRANT ALL PRIVILEGES ON developerparse.* TO 'devadmin'@'%';
FLUSH PRIVILEGES;
我可以加入mysql:
mysql -u devadmin -p
但是我需要为用户设置远程访问权限,因此当我将主机设置为'%'时:
CREATE USER IF NOT EXISTS 'devadmin'@'%' IDENTIFIED BY 'admindev';
并尝试加入mysql时出现错误:
MySQL ERROR 1045 (28000): Access denied for user 'devadmin'@'localhost' (using password: YES)
该如何解决?
用户帐户表:
select user, host from mysql.user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| devadmin | % |
| devuser | % |
| prodadmin | % |
| produser | % |
| testadmin | % |
| testuser | % |
| debian-sys-maint | localhost |
| developer | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
答案 0 :(得分:1)
%表示该用户可以来自任何主机。本地主机,用户只能从该服务器。举例来说,这可能是有用的(出于安全目的)。 root @ localhost意味着除了服务器本身之外,没有人可以与root用户连接。