Lef*_*kas 15 mysql my.cnf mysql-5.6 password
我正在尝试使 mysql 客户端连接到 mysql 服务器,而无需以交互方式提供密码。采取的步骤:
1)首先创建一个mylogin.cnf文件
$ mysql_config_editor set --user=<user> --password --host=<host>
Enter password:
Run Code Online (Sandbox Code Playgroud)
2)文件创建成功:
$ ls -la .mylogin.cnf
-rw-------. 1 urmt urmt 136 Dec 19 11:01 .mylogin.cnf
$ mysql_config_editor print --all
[client]
user = <user>
password = *****
host = <host>
Run Code Online (Sandbox Code Playgroud)
3)使用mysql客户端连接
$ mysql <dbname>
ERROR 1045 (28000): Access denied for user '<user>'@'<host>' (using password: NO)
Run Code Online (Sandbox Code Playgroud)
某处是否有默认值/配置使客户端忽略 mylogin.cnf 中的密码?从文件中正确读取了用户和主机属性。
如果我在命令行上提供密码,我就可以正常连接:
$ mysql -p <dbname>
Enter password:
Reading table information...
...
mysql>
Run Code Online (Sandbox Code Playgroud)
MySQL 客户端版本为 5.6.22,MySQL Server 版本为 5.6.22,均在 Oracle Linux 6 上。客户端和服务器在不同的主机上。
谢谢
Naw*_*ail 13
首先使用以下命令设置登录路径
mysql_config_editor 设置 --login-path=lgpath --user=root -p
密码
然后使用下面的命令登录mysql
mysql --login-path=lgpath
可以通过以下方式查看有关 mysql 登录路径选项的帮助
mysql_config_editor 设置 --help
小智 5
我遇到了与 OP 相同的问题,但此线程中的答案让我感到困惑。Vinay Mandala 的链接实际上对我有用。为了清楚起见,重新发布在这里。
我的问题:
ERROR 1045 (28000): Access denied for user '<user>'@'<host>' (using password: NO)
Run Code Online (Sandbox Code Playgroud)
证明mysql_config_editor没有正确处理密码中的特殊字符。
解决方案:
当mysql_config_editor提示您输入密码时,请确保将密码用双引号 (") 括起来。之后,您就可以正常登录了。
无论采用哪种方式,您都可能会在某个地方保存一个密码。即使是 MySQL 5.6 登录路径也可以被任何有动机的人轻松解密。该警告表示,这将是一个简单的解决方案。
在您的环境脚本(例如~/.profile或~/.bashrc)中,设置
alias mysql='mysql -uUser -pPasswd -hHostname'
(当然,输入您想要的用户、密码和主机名。)
shell 重新登录后,您应该能够简单地执行以下操作
mysql
...它将使用您的别名并连接到数据库并忽略.my.cnf文件中的任何密码。
安全说明:如果您的服务器上有其他用户,您可能需要 chmod 700 您的配置文件脚本,以便其他人不容易访问密码。任何拥有 root 或 sudo 的管理员仍然可以看到它;没有办法解决这个问题。
| 归档时间: |
|
| 查看次数: |
21373 次 |
| 最近记录: |