MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む

このページは機械翻訳したものです。

6.2.1 アカウントのユーザー名とパスワード

MySQL は、mysql システムデータベースの user テーブルにアカウントを格納します。 アカウントは、ユーザー名およびユーザーがサーバーに接続できるクライアントホスト (複数の場合あり) に関して定義されます。 user テーブルでのアカウントの表示については、セクション6.2.3「付与テーブル」を参照してください。

アカウントは、パスワードなどの認証資格証明を持つこともできます。 資格証明は、アカウント認証プラグインによって処理されます。 MySQL は、複数の認証プラグインをサポートしています。 これらの中には組込みの認証方式を使用するものもあれば、外部の認証方式を使用した認証を有効にするものもあります。 セクション6.2.17「プラガブル認証」を参照してください。

MySQL でのユーザー名とパスワードの使用方法とオペレーティングシステムの使用方法には、いくつかの違いがあります:

MySQL のインストールプロセスでは、セクション2.10.4「初期 MySQL アカウントの保護」 で説明されているように、付与テーブルに初期 root アカウントが移入されます。このアカウントにパスワードを割り当てる方法についても説明します。 その後、通常は CREATE USER, DROP USER, GRANTREVOKE などのステートメントを使用して、MySQL アカウントを設定、変更および削除します。 セクション6.2.8「アカウントの追加、権限の割当ておよびアカウントの削除」およびセクション13.7.1「アカウント管理ステートメント」を参照してください。

コマンドラインクライアントを使用して MySQL サーバーに接続するには、必要に応じて、使用するアカウントのユーザー名とパスワードのオプションを指定します:

shell> mysql --user=finley --password db_name

短いオプションを好む場合は、コマンドは次のようになります。

shell> mysql -u finley -p db_name

コマンドラインで --password または -p オプションの後にパスワード値を省略すると (図のように)、クライアントからパスワードの入力を求められます。 または、コマンドラインでパスワードを指定できます:

shell> mysql --user=finley --password=password db_name
shell> mysql -u finley -ppassword db_name

-p オプションを使用する場合、-p と次のパスワード値の間にスペースなしが存在する必要があります。

コマンド行でのパスワード指定は、セキュアでないと考えるべきです。 セクション6.1.2.1「パスワードセキュリティーのためのエンドユーザーガイドライン」を参照してください。 コマンド行でパスワードを指定しないようにするには、オプションファイルまたはログインパスファイルを使用します。 セクション4.2.2.2「オプションファイルの使用」およびセクション4.6.7「mysql_config_editor — MySQL 構成ユーティリティー」を参照してください。

ユーザー名、パスワード、およびその他の接続パラメータの指定に関する追加情報については、セクション4.2.4「コマンドオプションを使用した MySQL Server への接続」を参照してください。