是否启用 Mac OS 上 Sequel Pro 到 mysql 的明文身份验证?

是否启用 Mac OS 上 Sequel Pro 到 mysql 的明文身份验证?

我正在尝试从连接到 mysql 数据库续集专业版苹果系统

如何使用 Sequel Pro 启用明文身份验证来连接到 mysql?

答案1

根据Cleartext 客户端身份验证插件[1] 可以使用客户端身份验证插件,无需散列或加密即可将密码发送到服务器。此插件内置于 MySQL 客户端库中。

PAM 身份验证插件表示1.) PAM 身份验证插件已在 Linux 和 Mac OS X 上测试过, 然后2.) PAM 身份验证插件是商业产品 MySQL Enterprise Edition 中包含的扩展。

我找到了这个已知错误这可能适用于或不适用于您的情况,但我至少会提供仅供参考。


安装 6.5.1.3.1 Pam 身份验证插件

PAM 身份验证插件必须位于 MySQL 插件目录中(由plugin_dir系统变量)。如有必要,请设置plugin_dir在服务器启动时告诉服务器插件目录的位置。

要启用该插件,请使用以下命令启动服务器--plugin-load选项。例如,将以下几行放入 my.cnf 文件中。如果库文件在您的系统上具有与 .so 不同的后缀,请替换正确的后缀。

[mysqld]
plugin-load=authentication_pam.so

要验证插件安装,请检查INFORMATION_SCHEMA.PLUGINS 表或使用SHOW PLUGINS声明(见第 5.5.3 节 “获取服务器插件信息”)。 例如:

mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS
    -> WHERE PLUGIN_NAME LIKE 'authentication%';
+--------------------+---------------+
| PLUGIN_NAME        | PLUGIN_STATUS |
+--------------------+---------------+
| authentication_pam | ACTIVE        |
+--------------------+---------------+

authentication_pam要将 MySQL 帐户与 PAM 插件关联,请在IDENTIFIED WITH子句中使用插件名称 CREATE USER或者 GRANT创建帐户的声明

来源

您可以看到6.5.1.3.2 使用 PAM 身份验证插件正下方的部分(您在实际网站上阅读的源代码)提供了使用此插件所需的说明。


详细信息

Cleartext 客户端身份验证插件[1]

从 MySQL 5.5.10 开始,可以使用客户端身份验证插件,该插件无需散列或加密即可将密码发送到服务器。此插件内置于 MySQL 客户端库中。

使用本机 MySQL 身份验证,客户端会在将密码发送到服务器之前对其进行单向哈希处理。这使客户端能够避免以明文形式发送密码。请参阅第 6.1.2.4 节“MySQL 中的密码哈希处理“。但是由于哈希算法是单向的,因此在服务器端无法恢复原始密码。

对于需要服务器接收客户端输入的密码的身份验证方案,无法进行单向哈希处理。在这种情况下,mysql_clear_password可以使用客户端插件以明文形式将密码发送到服务器。没有相应的服务器端插件。相反,任何需要明文密码的服务器端插件都可以使用客户端插件。(PAM 身份验证插件就是这样一个;请参阅第 6.5.1.3 节“PAM 身份验证插件”

有关 MySQL 中可插入身份验证的一般信息,请参阅 第 6.3.6 节“可插入身份验证”

笔记

在某些配置中,以明文形式发送密码可能会带来安全问题。为了避免密码被截取的可能性,客户端应使用保护密码的方法连接到 MySQL 服务器。可能的方法包括 SSL(请参见第 6.4 节“使用安全连接”)、IPsec 或专用网络。

从 MySQL 5.5.27 开始,为了减少无意中使用此插件的可能性,需要客户端明确启用它。这可以通过几种方式完成:

  • 将环境变量设置LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN为以 1、Y 或 y 开头的值。这将为所有客户端连接启用该插件。

  • mysqlmysql管理员, 和 mysqlslap 客户端程序支持--enable-cleartext-plugin在每次调用时启用插件的选项。

  • mysql_options() C API 函数支持MYSQL_ENABLE_CLEARTEXT_PLUGIN基于每个连接启用该插件的选项。此外,任何使用 libmysqlclient 并读取选项文件的程序都可以通过enable-cleartext-plugin在客户端库读取的选项组中包括选项来启用该插件。

来源

相关内容