10bet网址
MySQL 5.6リファレンスマニュアル
本手册下载
PDF (Ltr)- 26.8 mb
PDF (A4)- 26.8 mb


6.3.5アカウントパスワードの割り当て

MySQLサーバーに接続するクライアントに必要な証明書には,パスワードを含めることができます。このセクションでは,MySQLアカウントにパスワードを割り当てる方法について説明します。クライアント認証は,プラグインを使用することで発生します。セクション6.3.7 "プラガブル認証"を参照してください。

创建用户を使用して新しいアカウントを作成するときに,パスワードを割り当てるには,确认的句を含めます。

CREATE USER 'jeffrey'@'localhost' - mysql> IDENTIFIED BY ' mpass ';

既存のアカウントにパスワードを割り当てる方法またはそれを変更する方法の1つは,设置密码ステートメントを発行することです。

mysql> SET PASSWORD FOR -> 'jeffrey'@'localhost' = PASSWORD(' mpass ');

MySQLでは,mysqlデータベースの用户テーブルにパスワードが格納されます。mysqlデータベースに対する更新権限を持っているなどのユーザーのみが,ほかのユーザーのパスワードを変更できます。匿名ユーザーとして接続していない場合は,句を省略すれば自分自身のパスワードを変更できます。

mysql> SET PASSWORD = PASSWORD(' mpass ');

old_passwordsシステム変数の値によって,密码()で使用されるハッシュ化方式が決定されます。その関数を使用しているパスワードを指定しても,设置密码でそのパスワードの形式が正しくないとして拒否される場合は,old_passwordsを設定してハッシュ化方式を変更する必要がある場合もあります。許可されている値については,セクション5.1.4 "サーバーシステム変数"を参照してください。

read_onlyシステム変数を有効にすると,超级権限を持っていない任意のユーザーによる设置密码ステートメントの使用が回避されます。

また,グローバルレベル(* *。)で格兰特使用ステートメントを使用すると,アカウントの現在の権限に影響を与えずに,アカウントにパスワードを割り当てることができます。

mysql> GRANT USAGE ON* TO 'jeffrey'@'localhost' -> IDENTIFIED BY ' mpass ';

コマンド行からパスワードを割り当てるには,mysqladminコマンドを使用します。

壳> mysqladmin - uuser_name- hhost_name密码”newpwd

このコマンドでパスワードが設定されるアカウントは,用户カラム内のuser_nameに一致する用户テーブル行を持つアカウント,および宿主カラム内の接続元のクライアントホストです。

認証中にクライアントがサーバーに接続すると,MySQLでは用户テーブル内のパスワードが暗号化されたハッシュ値(密码()でパスワードに返される値)として処理されます。アカウントにパスワードを割り当てる際は,平文のパスワードではなく,暗号化された値を格納することが重要です。次のガイドラインを使用します。

  • 创建用户确认的句を含む格兰特,またはmysqladmin密码コマンドを使用してパスワードを割り当てると,自動的にパスワードが暗号化されます。リテラルの平文パスワードを指定します。

    CREATE USER 'jeffrey'@'localhost' - mysql> IDENTIFIED BY ' mpass ';
  • 创建用户または格兰特では,密码()でパスワードに返されるハッシュ値がわかっている場合に,平文パスワードの送信を回避できます。前にキーワード密码を付けたハッシュ値を指定します。

    mysql> CREATE USER 'jeffrey'@'localhost' -> IDENTIFIED BY PASSWORD '*90E462C37378CED12064BB3388827D2BA3A9B689';
  • 设置密码を使用して,アカウントに空でないパスワードを割り当てる場合は,密码()機能を使用してパスワードを暗号化する必要があります。それ以外の場合は,パスワードが平文として格納されます。次のようなパスワードを割り当てると仮定します。

    mysql> SET PASSWORD FOR -> 'jeffrey'@'localhost' = ' mpass ';

    その結果,暗号化された値ではなく,リテラル値の“mypass”がパスワードとして用户テーブルに格納されます。杰弗里がこのパスワードを使用してサーバーへの接続を試みると,その値が暗号化され,用户テーブルに格納された値と比較されます。ただし,格納されている値はリテラル文字列の“mypass”であるため,比較に失敗し,サーバーは接続を拒否し,“アクセスが拒否されました”というエラーを返します。

注記

密码()の暗号化は,Unixのパスワード暗号化とは異なります。セクション6.3.1 "ユーザー名とパスワード"を参照してください。

设置密码格兰特,またはmysqladminを使用してパスワードを割り当てることが望ましいですが,用户テーブルを直接変更することもできます。この場合,冲洗的特权を使用して,サーバーで付与テーブルを再ロードさせる必要もあります。それ以外の場合は,サーバーを再起動するまで変更が認識されないままです。


本手册下载
PDF (Ltr)- 26.8 mb
PDF (A4)- 26.8 mb