我正在尝试从连接到 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 开头的值。这将为所有客户端连接启用该插件。这mysql,mysql管理员, 和 mysqlslap 客户端程序支持
--enable-cleartext-plugin
在每次调用时启用插件的选项。这mysql_options() C API 函数支持
MYSQL_ENABLE_CLEARTEXT_PLUGIN
基于每个连接启用该插件的选项。此外,任何使用 libmysqlclient 并读取选项文件的程序都可以通过enable-cleartext-plugin
在客户端库读取的选项组中包括选项来启用该插件。