-->

不能与mysql中创建用户登录(Cannot log in with created user in

2019-07-17 18:38发布

使用此命令

GRANT ALL PRIVILEGES ON *.* to 'brian'@'%' identified by 'password';

我尝试登录:

 mysql -u brian -ppassword

错误是:

ERROR 1045 (28000): Access denied for user 'brian'@'localhost' (using password: YES)

我这样做的根源,我曾尝试刷新特权。

我试图与无数用户,但它似乎并没有工作。 我可以创建没有密码和登录作品的用户。 命令行和phpMyAdmin的

还要检查,看看用户在mysql.user它是。

显示赠款布莱恩表示:

| GRANT ALL PRIVILEGES ON *.* TO 'brian'@'%' IDENTIFIED BY PASSWORD '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19' |

Answer 1:

你可能有这样的永久MySQL的问题,即在用户表中的默认用户之一是'' @ localhost ,它卷起拒绝所有localhost后面的表的用户。 我会做的是mysqldumpmysql数据库,并寻找在此条User表; 如果找到,删除它,然后冲水特权。

欲了解更多详情,请参见https://dev.mysql.com/doc/refman/5.5/en/connection-access.html 。

这是一个普遍的误解认为,对于一个给定的用户名,明确命名该用户的所有行首先当服务器试图找到该连接的比赛中使用。 这不是真的。 前面的例子中示出了这一点,其中,由Jeffrey从h1.example.net的连接,首先通过含“杰弗里”作为用户列值的行匹配,而是由没有用户名的行。 其结果是,杰弗里被认证为匿名用户,即使他连接时指定的用户名。



Answer 2:

这是造成匿名用户的问题。 有一次,我安装MySQL我始终运行

shell> mysql_secure_installation 

,选择要设置/改变根密码,删除匿名用户,禁止远程根登录,删除测试数据库。 这将删除匿名用户并确保您的安装。 还应该解决你的问题。



Answer 3:

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)


Answer 4:

该解决方案没有提供在这里工作。 之后错误和审判的负荷,我意识到,我的密码有特殊字符。 无特殊字符更改密码解决问题



Answer 5:

MySQL的文档有这样一段话:(从http://dev.mysql.com/doc/refman/5.1/en/adding-users.html ):

其中两个账户有一个用户名monty和密码some_pass 。 两个账户均为超级用户账户,具有完全的权限做任何事情。 在'monty'@'localhost'账户只能从本地主机连接时使用。 在'monty'@'%'账户使用'%'的主机部分通配符,因此它可以被用于从任何主机连接。

它必须有两个帐户的monty能够从任何地点连接的monty 。 没有localhost账户,由创建localhost的匿名用户账户mysql_install_db时候蒙蒂从本地主机连接会优先考虑。 其结果是, monty将被视为匿名用户。 这样做的原因是匿名用户账户的一个更具体的Host比列的值'monty'@'%'账户,从而较早进来的用户表排列顺序。

考虑到这一点,我会建议你创建一个'brian'@'localhost'具有相同权限的用户。



Answer 6:

你忘了周围布赖恩报价在GRANT语句。 试着这样说:

GRANT ALL PRIVILEGES ON *.* to 'brian'@'%' identified by 'password';



Answer 7:

我刚刚创建的帐户为未来的搜索另外一个可能性:

这可能是一种明显的有经验的用户,但随机生成自己的密码,并包含在“\”。 我花了一段时间,直到我发现这个角色似乎引起问题,导致我不能够登录。



Answer 8:

我认为,“拉塞尔·席尔瓦”是正确的...

我创建了一个用户通过

CREATE USER 'username'@'%' PASSWORD='userpassword';

但我不能在这个account.The控制台登录告诉我,

ERROR 1045 (28000): Access denied for user 'username'@'localhost' (using password: YES)

所以,我创建了不同之处在于改变“%”相同用户名的用户“本地主机”,我终于可以在登录为“用户名”。 这对我来说很怪异,但。



Answer 9:

在我的情况下,它是由于我点击“SSL:要求SSL”(在phpMyAdmin)。 当我改成了“规定NONE”我可以登录。



Answer 10:

您也可以从另一台主机连接,然后localhost的匿名用户将被旁路,你可以将其删除,并刷新特权:

mysql -u brian -ppassword -h 'other_host_than_localhost'


Answer 11:

我有一个类似的问题在尝试升级到17.04后连接到Ubuntu的一个玛丽亚DB运行。

默认是只监听本地主机,127.0.0.1。

为了使MySQL /玛丽亚,我需要明确指定绑定地址= 0.0.0.0所有可用端口和接口听。 我加入这行到文件末尾/etc/mysql/my.cnf ,即

...
[client-server]

# Import all .cnf files from configuration directory

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mariadb.conf.d/
bind-address=0.0.0.0

然后...

sudo /etc/init.d/mysql restart 


Answer 12:

发生类似的问题,我甚至验证我还没有输入错误密码后,我无法登录。 下面两个步骤解决我的问题。

  1. 删除测试数据库
  2. 删除匿名用户


文章来源: Cannot log in with created user in mysql