我使用的是MySQL 5.5。它包含 my.ini 中的(已注释的)行:
[client]
#password = your_password
如果我取消注释“密码”行,它不会看到它,并允许我使用空密码进行连接。
[client]
user = root
password = password
这也行不通。
如果这是不可能的,那么这些线的用途是什么?
[client]
(或my.ini
)文件中的my.cnf
部分用于为客户端程序(例如MySQL客户端应用程序mysql
)提供设置。请参阅有关选项文件的文档:
选项组由MySQL发行版中提供的所有客户端程序读取(但不由mysqld读取)。要了解使用 C API 的第三方客户端程序如何使用选项文件,请参阅 C API 文档第 28.7.7.50 节“mysql_options()”。[client]
组使您能够指定适用于所有客户端的选项。例如,[client]
是用于指定连接服务器的密码的适当组。 (但请确保该选项文件只能由您自己访问,以便其他人无法发现您的密码。)[client]
客户端应用程序有很多设置/参数(请参阅
mysql --help
),如果您想预定义一些值以方便使用,这样就不需要一直写入它们,您可以使用[client]
部分。
在 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)