仅使用某些密码才能拒绝用户'root'@'localhost'的访问

史密斯

我刚刚使用MySQL 5.6.19全新安装了Ubuntu 14.04。完成安装后,我执行了mysql_secure_installation该操作,它引导我完成了一些安全设置,并让我设置了root密码。我的root密码当前包含@和$符号。当我尝试执行

mysql -u root -pAP@$$Here

我收到以下错误

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

为什么会出现此错误?

如果我mysql_secure_installation再次在命令行上运行,并通过删除@和$符号来更改root密码,那么我在运行时就可以正常连接

mysql -u root -pAPassHere

在相关但独立的问题上,我也尝试通过发出以下命令进行连接:

mysql -u root

我原本会提示您输入密码,但是却收到了以下相关错误

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

为什么不要求我输入密码?

比尔·卡文(Bill Karwin)

请注意,有些符号$在shell中具有特殊含义,并且shell在将字符串传递给程序之前将变量扩展为它们的值。

例如,尝试以下操作:

$ echo AP@$$Here
AP@6282Here

$$被替换为从我跑这个命令bash外壳的进程ID。如果要抑制变量扩展,请将字符串放在单引号中:

$ echo 'AP@$$Here'
AP@$$Here

这也适用于MySQL客户端:

$ mysql -u root -p'AP@$$Here'

请注意,您-p和引号之间仍然必须没有空格

您还可以通过不使用-p以下字符串来使MySQL客户端以交互方式提示您

$ mysql -p
Enter password: 

最后,您可以方便地在$ HOME / .my.cnf中输入密码,然后不必键入密码。这也绕过了shell变量扩展,并从字面上从配置文件中获取值。

$ cat >> $HOME/.my.cnf
[client]
user = root
password = AP@$$Here
^D

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

OperationalError:(1045,“拒绝访问用户'root'@'localhost'(使用密码:是)”)

错误1045(28000):用户'root'@'localhost'的访问被拒绝(使用密码:是)

错误:“对用户'root'@'localhost'的访问被拒绝(使用密码:是)'

用户'root'@'localhost'的访问被拒绝(使用密码:NO)-怎么了?

错误1045(28000):用户'root'@'localhost'的访问被拒绝(使用密码:是)

在Eclipse中拒绝用户``@'localhost'(使用密码:NO)的访问,而不是'root'@'localhost',类路径已损坏

MySQL错误::'拒绝访问用户'root'@'localhost'

从Servlet拒绝用户'root'@'localhost'的访问

用户 root@localhost 的访问被拒绝

用户“ root” @“ localhost”的访问被拒绝-终端,Mac

密码重置LINUX后,拒绝用户'root'@'localhost'的访问(使用密码:是)

错误1045(28000):用户'root'@'localhost'的访问被拒绝(使用密码:否),也无法重置密码

更改密码后仍然得到:用户'root'@'localhost'的访问被拒绝(使用密码:是)

使用ssh隧道连接拒绝用户'root'@'localhost'的访问(使用密码:是)

java.sql.SQLException:用户'root'@'localhost'的访问被拒绝(使用密码:是)

ASP.NET MVC MySQL 访问拒绝用户“root”@“localhost”(使用密码:NO)

mysql -v错误1045(28000):用户root'@'localhost'的访问被拒绝(使用密码:NO)

Locall MySQL数据库登录错误:用户'root'@'localhost'的访问被拒绝(使用密码:是)

mysql-docker-container-错误1045(28000):用户'root'@'localhost'的访问被拒绝(使用密码:NO)

用户“ root” @“ localhost”的访问被拒绝(使用密码:是)-没有权限?

SQLSTATE[HY000] [1045] 用户 'root'@'localhost' 的访问被拒绝(使用密码:NO)(SQL:select * from `permissions`)

mysqlfailover命令给出错误1045:对用户'root'@'localhost'的访问被拒绝(使用密码:NO)

lavaral 5错误{(SQLSTATE [HY000] [1045]用户'root'@'localhost'的访问被拒绝(使用密码:是)}

NodeJS / mySQL-ER_ACCESS_DENIED_ERROR用户'root'@'localhost'的访问被拒绝(使用密码:是)

NodeJS / mySQL-ER_ECCESS_DENIED_ERROR用户'root'@'localhost'的访问被拒绝(使用密码:是)

django.db.utils.OperationalError:(1045:用户'root'@'localhost'的访问被拒绝(使用密码:NO)

MySql错误1045(28000):用户'root'@'localhost'的访问被拒绝(使用密码:否)

错误1045(28000):在MAC OSX上对用户'root'@'localhost'的访问被拒绝(使用密码:否)

错误 1045 (28000): 用户 'root'@'localhost' 的访问被拒绝(使用密码:YES)后设置 plugin = ''