クライアントがMySQLサーバーに接続すると,サーバーはクライアントおよびクライアントホストで提供されたユーザー名を使用して,mysql.user
。そのあと,サーバーは認証プラグインでクライアントに適用されるアカウント行から決定することで,クライアントを認証します。
アカウント行にプラグインが指定されている場合,サーバーはそれを呼び出すことで,ユーザーを認証します。。
アカウント行にプラグイン名が指定されていない場合,
密码
カラム内のパスワードハッシュ値でネイティブのハッシュ化方式と,4.1よりも前の古いハッシュ化方式のどちらが使用されているのかに応じて,サーバーはmysql_native_password
とmysql_old_password
。クライアントは,アカウント行の密码
。
ユーザーが接続を許可されているかどうかを示すステータスがプラグインからサーバーに返されます。
。
外部認証:プラガブル認証を使用すると,
mysql.user
テーブルに格納されているパスワードに基づいたネイティブ認証以外の認証方式に適した証明書を使用して,クライアントがMySQLサーバーに接続できます。たとえば,PAM, WindowsのログインID、LDAP、Kerberosなどの外部認証方式を使用するプラグインを作成できます。プロキシユーザー:ユーザーが接続を許可されている場合,接続中のユーザーが別のユーザーのプロキシであることを示すために,認証プラグインは接続中のユーザーの名前と異なるユーザー名をサーバーに返すことができます。接続が存続している間は,アクセス制御のために,プロキシユーザーは別のユーザーの権限を持っているものとして処理されます。,,。★★★★★★6.3.9“”。
★★★★★★★★★★★★★★★
アカウント行の
密码
。mysql_native_password
。mysql_old_password
プラグインには,古い(4.1よりも前の)パスワードハッシュ化方式(現在は非推奨です)に基づいたネイティブ認証が実装されています。6.3.8.1“”?“”。サーバーの起動時に——default-authentication-plugin
オプションが設定されている場合を除き,mysql_native_password
。Sha-256。このプラグインは,アカウント行の
authentication_string
。。6.3.8.4“sha-256密密的作法”。PAM (Pluggable Authentication Module)と照合して外部認証を実行するプラグイン。MySQL。。6.3.8.5“pam,”。
Windows操作系统。これを使用するとMySQLサーバーがネイティブのWindowsサービスを使用して,クライアント接続を認証できます。Windowsにログインしたユーザーは,追加のパスワードを指定せずに,自分の環境内の情報に基づいてMySQLクライアントプログラムからサーバーに接続できます。。6.3.8.6“Windows刷卡机”。
。このプラグインは,クライアントユーザーから提供されたものとまったく同じパスワードにアクセスする必要があるサーバー側のプラグインで使用できます。“”。
Unix。“”。
MySQL:。このプラグインは,テストおよび開発のために,認証プラグインを作成する方法を示す例として使用されます。“”。
プラガブル認証の使用に対する現在の制約(どのコネクタがどのプラグインをサポートしているのかなど)については,“”。
サードパーティー製コネクタの開発者は,コネクタがプラガブル認証機能を活用できる範囲と,より準拠させるために実行する手順を確認するために,そのセクションを読むべきです。
独自の認証プラグインを作成することに関心がある場合は,“”。
你怎么看
中文:。
。英文:。
。。同様に,各クライアントホストでは,クライアントプログラムで使用される適切なクライアントプラグインを含むライブラリをインストールします。
MySQL。
クライアントが接続すると,サーバープラグインからクライアントプログラムに,認証に使用されるクライアントプラグインが指示されます。
MySQL, MySQL, MySQL, MySQL, MySQL, MySQL, MySQL“”)。我的意思是,我的意思是,我的意思是,我的意思是。。
。
サーバー側のプラグイン名は
test_plugin_server
啊哈!クライアント側のプラグイン名は
auth_test_plugin
啊哈!どちらのプラグインも,プラグインディレクトリ(
plugin_dir
システム変数で指定されたディレクトリ)内のauth_test_plugin.so
。。
。
サーバーホストおよびクライアントホスト上に,プラグインライブラリがインストールされていることを確認します。
。
起動時にプラグインをインストールするには,
——plugin-load
。。,my.cnf
。(mysqld) plugin-load = test_plugin_server = auth_test_plugin.so
実行時にプラグインをインストールするには,
安装插件
ステートメントを使用します。安装插件test_plugin_server SONAME 'auth_test_plugin.so';
。
。,
显示插件
我不知道。mysql>显示插件*************************** 21。行 *************************** 名称:test_plugin_server状态:积极的类型:身份验证库:auth_test_plugin。所以许可证:GPL
プラグインをチェックするためのその他の方法については,“”。
特定のサーバープラグインを使用してMySQLユーザーを認証する必要があることを指定するには,ユーザーを作成する
创建用户
ステートメントの认同
。创建用户testuser @ localhost
。。★★★★★★★★★★★★★★★★★★★
——用户
?——密码
。例:Shell > mysql——user=your_name——密码=your_pass
testuser
による接続の場合,サーバーはtest_plugin_server
という名前のサーバー側のプラグインを使用してアカウントを認証する必要があることを認識し,クライアント側のプラグイン(この場合,auth_test_plugin
),,,,,,,,,,,,,,,,,,,,。アカウントがサーバープログラムとクライアントプログラムの両方のデフォルトである認証方式を使用する場合,サーバーはプラグインを使用するクライアントと通信する必要がなく,クライアントとサーバーのネゴシエーションでラウンドトリップが発生することを回避できます。【中文】:MySQL
mysql_native_password
)。mysql哈哈,哈哈
——default-auth =
オプションを指定すると,プログラムで使用するように要求できるクライアント側のプラグインを明示的に作成できます。ただし,ユーザーアカウントが別のプラグインを要求した場合,これはサーバーによってオーバーライドされます。plugin_name
クライアントプログラムでプラグインが見つからない場合は,プラグインが配置されている場所を示す
——plugin-dir =
。dir_name
——skip-grant-tables
オプションを付けてサーバーを起動した場合,サーバーはクライアント認証を実行せず,任意のクライアントが接続することを許可するため,認証プラグインはロードされたとしても使用されません。★★★★★★★★★★★★★★★★★★★★★★★★★★★★★——skip-networking
> > > > > > >——skip-grant-tables
。