0
点赞
收藏
分享

微信扫一扫

yaml文件格式详解 及 k8s实战演示

小磊z 2024-05-25 阅读 15

目录

1.介绍

1.1 存放位置

1.2 格式内容

1.2.1 文件加密

2.调用mysql_config_editor

2.1 定义MySQL的默认连接参数

2.2 优先级

3.mysql_config_editor常规选项

3.1 help

3.2 debug

3.3 verbose

3.4 version

4.mysql_config_editor命令和特定于命令行选项

4.1 help

4.2 print

4.3 remove

4.4 reset 

4.5 set 


1.介绍

1.1 存放位置

mysql_config_editor实用程序使您能够将身份验证凭据存储在名为.mylogin.cnf的模糊登录路径文件中。

文件位置是Windows上的%APPDATA%\MySQL目录

非Windows系统上当前用户的root目录。

MySQL客户端程序稍后可以读取该文件,以获取连接到MySQL Server的身份验证凭据

1.2 格式内容

.mylogin.cnf登录路径文件的未加密前内容由选项组组成,与其他选项文件类似。.

mylogin.cnf中的每个选项组都被称为“登录路径”,这是一个只允许某些选项的组:主机、用户、密码、端口和套接字。将登录路径选项组视为一组选项,指定要连接到哪个MySQL服务器以及要作为哪个帐户进行身份验证。以下是一个未加密的示例:

[client]
user = mydefaultname
password = mydefaultpass
host = 127.0.0.1
[mypath]
user = myothername
password = myotherpass
host = localhost

当您调用客户端程序连接到服务器时,客户端会将.mylogin.cnf与其他选项文件结合使用

它的优先级高于其他选项文件,但低于客户端命令行上明确指定的选项

要指定备用登录路径文件名,请设置MYSQL_TEST_LOGIN_FILE环境变量。此变量由mysql_config_editor、标准mysql客户端(mysql、mysqladmin等)和mysql-test-run.pl测试实用程序识别。

程序使用登录路径文件中的组,如下所示:

1.2.1 文件加密

mysql_config_editor对.mylogin.cnf文件进行模糊处理,因此无法将其作为明文读取,并且在客户端程序未进行模糊处理时,其内容仅在内存中使用。

通过这种方式,密码可以以非明文格式存储在文件中,并在以后使用,而无需在命令行或环境变量中公开。

mysql_config_editor提供了一个用于显示登录路径文件内容的打印命令,但即使在这种情况下,密码值也会被屏蔽,以免以其他用户可以看到的方式出现。

mysql_config_editor使用的加密方法可以防止密码以明文形式出现在.mylogin.cnf中,并通过防止无意中暴露密码来提供安全措施。

例如:

如果您在屏幕上显示一个常规的未被混淆的my.cnf选项文件,那么它包含的任何密码都是可见的

对于.mylogin.cnf,这不是真的,但使用的模糊处理不太可能阻止坚定的攻击者,你不应该认为它牢不可破。在您的计算机上获得系统管理权限以访问您的文件的用户可以毫不费力地解开.mlogin.cnf文件

登录路径文件必须对当前用户可读写,其他用户不能访问。否则,mysql_config_editor会忽略它,客户端程序也不会使用它。

2.调用mysql_config_editor

调用mysql_config_editor如下:

mysql_config_editor [program_options] command [command_options]

如果登录路径文件不存在,则由mysql_config_editor创建。

命令参数如下所示:

命令名在程序参数集中的位置非常重要。例如,这些命令行具有相同的参数,但会产生不同的结果:

mysql_config_editor --help set
mysql_config_editor set --help

第一个命令行显示一条常规的mysql_config_editor帮助消息,并忽略set命令。

第二个命令行显示特定于set命令的帮助消息。


2.1 定义MySQL的默认连接参数

假设您要建立一个定义默认连接参数的客户端登录路径,以及一个名为remote的额外登录路径,用于连接到MySQL服务器hostremote.example.com。

您希望按如下方式登录:

要在.mylogin.cnf文件中设置登录路径,请使用以下set命令。在一行中输入每个命令,并在提示时输入相应的密码

$> mysql_config_editor print --all
[client]
user = localuser
password = *****
host = localhost
[remote]
user = remoteuser
password = *****
host = remote.example.com

print命令将每个登录路径显示为一组行,以方括号中指示登录路径名称的组标题开头,后跟登录路径的选项值。密码值被屏蔽,不会显示为明文

如果未指定--all以显示所有登录路径,也未指定--login-path=name以显示命名登录路径,则print命令默认情况下会显示客户端登录路径(如果有)。

如前面的示例所示,登录路径文件可以包含多个登录路径。

通过这种方式,mysql_config_editor可以轻松地设置多个“个性化定制”,以便连接到不同的mysql服务器,或者使用不同的帐户连接到给定的服务器。

以后调用客户端程序时,可以使用--login-path选项按名称选择其中任何一个。

例如,要连接到远程服务器,请使用以下命令:

mysql --login-path=remote

在这里,mysql从其他选项文件中读取[client]和[mysql]选项组,从登录路径文件中读取[client]、[mysql]和[mremote]组。

要连接到本地服务器,请使用以下命令:

mysql --login-path=client

因为mysql默认读取客户端和mysql登录路径,所以在这种情况下,--login-path选项不会添加任何内容。该命令等效于以下命令:

mysql

2.2 优先级

登录路径文件中读取的选项优先于从其他配置文件读取的选项。

登录路径文件中稍后出现的登录路径组读取的选项优先于从文件中较早出现的组中读取的选项。

(后配置优先于先配置。会覆盖)

mysql_config_editor按照创建登录路径的顺序将登录路径添加到登录路径文件中,因此应该先创建更通用的登录路径,然后再创建更具体的路径

如果需要在文件中移动登录路径,可以将其删除,然后重新创建以将其添加到末尾

例如,客户端登录路径更通用,因为它由所有客户端程序读取,而mysqldump登录路径仅由mysqldump读取。

稍后指定的选项会覆盖先前指定的选项,因此将登录路径放在顺序客户端中,mysqldump会启用特定于mysqldump的选项来覆盖客户端选项。

当您将set命令与mysql_config_editor一起使用以创建登录路径时,不需要指定所有可能的选项值(主机名、用户名、密码、端口、套接字)。

只有给定的值才会写入路径。

当您调用客户端路径连接到MySQL服务器时,可以在其他选项文件或命令行中指定以后所需的任何缺失值

在命令行上指定的任何选项都会覆盖在登录路径文件其他选项文件指定的选项

例如,如果远程登录路径中的凭据也适用于主机remote2.example.com,请按如下方式连接到该主机上的服务器:

mysql --login-path=remote --host=remote2.example.com

3.mysql_config_editor常规选项

mysql_config_editor支持以下常规选项,这些选项可以在命令行上命名的任何命令之前使用

有关特定于命令的选项的描述,请参见mysql_config_editor命令和特定于命令选项。

mysql_config_editor常规选项

选项名称描述
--debug写入调试日志
--help显示帮助消息并退出
--verbose详细模式
--version显示版本信息并退出

3.1 help

显示常规帮助消息并退出。
要查看特定于命令的帮助消息,请按如下方式调用mysql_config_editor,其中command是帮助以外的命令:

mysql_config_editor command --help

3.2 debug

--debug[=debug_options], -# debug_options

编写调试日志。一个典型的debug_options字符串是d:t:o,file_name。

默认为d:t:o,/tmp/mysql_config_editor.trace。

3.3 verbose

详细模式。打印有关程序功能的更多信息。如果操作没有达到预期效果,此选项可能有助于诊断问题。

3.4 version

显示版本信息并退出。

4.mysql_config_editor命令和特定于命令行选项

本节介绍允许的mysql_config_editor命令,以及每一个命令行上命令名后面允许的特定于命令行的选项。

mysql_config_editor支持以下命令:

4.1 help

显示常规帮助消息并退出。此命令不接受以下选项。

要查看特定于命令的帮助消息,请按如下方式调用mysql_config_editor,其中command是帮助以外的命令:

mysql_config_editor command --help

4.2 print

以未加密的形式打印登录路径文件的内容,密码显示为*****的情况除外。

如果未命名登录路径,则默认登录路径名称为client。如果同时给定--all和--login路径,则--all优先。

print命令允许在命令名之后使用这些选项:

显示打印命令的帮助消息并退出。

要查看常规帮助消息,请使用mysql_config_editor--help。

打印登录路径文件中所有登录路径的内容。

打印命名登录路径的内容。

4.3 remove

从登录路径文件中删除登录路径,或通过删除其中的选项来修改登录路径。

此命令仅从登录路径中删除由--host、--password、--port、--socket和--user选项指定的选项。

如果没有提供这些选项,remove将删除整个登录路径。例如,此命令仅从mypath登录路径中删除用户选项,而不是整个mypath登录通路:

mysql_config_editor remove --login-path=mypath --user

此命令将删除整个mypath登录路径:

mysql_config_editor remove --login-path=mypath

remove命令允许在命令名之后使用这些选项:

4.4 reset 

清空登录路径文件的内容。

reset命令允许在命令名称之后使用这些选项:

4.5 set 

登录路径写入登录路径文件。

此命令只将--host、--password、--port、--socket和--user选项指定的选项写入登录路径。

如果没有给出这些选项,mysql_config_editor会将登录路径写入一个空组

set命令允许在命令名之后使用这些选项:

举报

相关推荐

0 条评论