是否可以在 my.ini 文件中存储密码?

问题描述 投票:0回答:2

我使用的是MySQL 5.5。它包含 my.ini 中的(已注释的)行:

[client]
#password   = your_password

如果我取消注释“密码”行,它不会看到它,并允许我使用空密码进行连接。

[client]
user = root
password    = password

这也行不通。

如果这是不可能的,那么这些线的用途是什么?

mysql database passwords ini my.ini
2个回答
1
投票

[client]
(或
my.ini
)文件中的
my.cnf
部分用于为客户端程序(例如MySQL客户端应用程序
mysql
)提供设置。请参阅有关选项文件的文档:

[client]
选项组由MySQL发行版中提供的所有客户端程序读取(但不由mysqld读取)。要了解使用 C API 的第三方客户端程序如何使用选项文件,请参阅 C API 文档第 28.7.7.50 节“mysql_options()”。

[client]
组使您能够指定适用于所有客户端的选项。例如,
[client]
是用于指定连接服务器的密码的适当组。 (但请确保该选项文件只能由您自己访问,以便其他人无法发现您的密码。)

客户端应用程序有很多设置/参数(请参阅

mysql --help
),如果您想预定义一些值以方便使用,这样就不需要一直写入它们,您可以使用
[client]
部分。


0
投票

在 Windows 上,您可以在

john
中的
banana
下指定用户
[client]
和密码
my.ini
,如下所示。 *我的答案解释了
[client]
我的答案解释了
my.ini
在Windows上的位置:

# "my.ini"

[client]
user="john"
password="banana"

然后,您可以通过将

my.ini
的位置指定为
--defaults-file=
--defaults-extra-file=
来登录,如下所示:

mysql --defaults-file='C:\ProgramData\MySQL\MySQL Server 8.0\my.ini'

或者:

mysql --defaults-extra-file='C:\ProgramData\MySQL\MySQL Server 8.0\my.ini'

*未指定

my.ini
的位置到
--defaults-file=
--defaults-extra-file=
会出现如下错误:

mysql
ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)
© www.soinside.com 2019 - 2024. All rights reserved.