10bet网址
Sysql中的安全性
相关文件10bet官方网站 下载此摘录

6.1.10测试可插拔身份验证

MySQL包含一个测试插件,该测试插件检查帐户凭据并记录服务器错误日志的成功或失败。这是一个可加载插件(未构建),必须在使用前安装。

与内置本机插件不同,测试插件源代码与服务器源分开,因此可以将其作为一个相对简单的示例,演示如何编写可加载的身份验证插件。

笔记

此插件旨在用于测试和开发目的,不适用于生产环境或接触到公共网络的服务器。

下表显示了插件和库文件名。文件名后缀可能在您的系统上有所不同。该文件必须位于名为的目录中plugin_dir.系统变量。

表6.11测试身份验证的插件和库名称

插件或文件 插件或文件名
服务器端插件 test_plugin_server
客户端插件 auth_test_plugin.
库文件 auth_test_plugin.so.

以下部分提供特定于测试可插拔身份验证的安装和使用信息:

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

安装测试可插拔身份验证

本节介绍如何安装测试身份验证插件。有关安装插件的一般信息,请参阅安装和卸载插件

要通过服务器可用,插件库文件必须位于MySQL插件目录中(由此指定的目录plugin_dir.系统变量)。如有必要,请通过设置值来配置插件目录位置plugin_dir.在服务器启动时。

要在服务器启动时加载插件,请使用-plugin-load-add选项可命名包含它的库文件。使用此插件加载方法,每次服务器启动时都必须选择选项。例如,将这些行放在服务器中我.CNF.文件,调整。所以必要时为您的平台后缀:

[mysqld] plugin-load-add = auth_test_plugin.so

修改后我.CNF.,重新启动服务器以使新设置生效。

或者,要在运行时加载插件,请使用此语句,调整。所以必要时为您的平台后缀:

安装plugin test_plugin_server soname'auth_test_plugin.so';

安装插件立即加载插件,并将其注册mysql.plugins.系统表使服务器为每个后续正常启动加载它而无需-plugin-load-add

要验证插件安装,请检查Information_schema.plugins.表或使用显示插件声明(参见获取服务器插件信息)。例如:

mysql> select plugin_name,plugin_status from Information_schema.plugins,其中plugin_name喜欢'%test_plugin%';+ ------------------------------- + |plugin_name |plugin_status |+ ------------------------------- + |test_plugin_server |活跃|+ ------------------------------- +

如果插件无法初始化,请检查服务器错误日志以获取诊断消息。

要将MySQL帐户与Test插件关联,请参阅使用测试可插拔身份验证

卸载测试可插拔身份验证

用于卸载测试身份验证插件的方法取决于您安装的方式:

  • 如果您使用a在服务器启动时安装了插件-plugin-load-add选项,在没有选项的情况下重新启动服务器。

  • 如果您使用的运行时安装了插件安装插件语句,它仍然在服务器重新启动时安装。卸载它,使用卸载插件

    卸载插件test_plugin_server;

使用测试可插拔身份验证

要使用测试身份验证插件,请创建一个帐户和名称该插件确定条款:

创建使用test_plugin_server标识的用户'testuser'@'localhost'testpassword.'

然后提供- 用户- 密码连接到服务器时该帐户的选项。例如:

shell> mysql -user = testuser --password输入密码:testpassword.

插件获取从客户端收到的密码,并将其与存储在中的值进行比较Authentication_String.帐户行的列mysql.user.系统表。如果两个值匹配,则插件返回Authentication_String.值作为新的有效用户ID。

您可以查看服务器错误日志,以查找指示身份验证是否成功的消息(请注意,密码报告为用户):

[注意] Plugin Test_plugin_server报告:'成功经过身份验证的用户testpassword.'