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

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

2.10.4 初期 MySQL アカウントの保護

MySQL のインストールプロセスには、MySQL アカウントを定義する mysql システムスキーマの付与テーブルを含む、データディレクトリの初期化が含まれます。 詳細は、セクション2.10.1「データディレクトリの初期化」を参照してください。

このセクションでは、MySQL のインストール手順中に作成された初期 root アカウントにパスワードを割り当てる方法について説明します (まだ行っていない場合)。

注記

このセクションで説明するプロセスを実行する別の方法:

  • Windows では、MySQL Installer を使用したインストール中にこのプロセスを実行できます (セクション2.3.3「MySQL Installer for Windows」 を参照)。

  • すべてのプラットフォームで、MySQL 配布には、MySQL インストールをセキュアにするプロセスの大部分を自動化するコマンド行ユーティリティー mysql_secure_installation が含まれます。

  • すべてのプラットフォームで、MySQL Workbench を使用でき、ユーザーアカウントを管理できます (第31章「MySQL Workbench を参照)。

次の状況では、初期アカウントにパスワードがすでに割り当てられている可能性があります:

mysql.user 付与テーブルは、初期 MySQL ユーザーアカウントとそのアクセス権限を定義します。 MySQL をインストールすると、すべての権限を持ち、何でも実行できる'root'@'localhost'スーパーユーザーアカウントのみが作成されます。 root アカウントのパスワードが空の場合、MySQL のインストールは保護されません: 誰でも root パスワードなしとして MySQL サーバーに接続でき、すべての権限を付与できます。

'root'@'localhost'アカウントの mysql.proxies_priv テーブルには、''@''PROXY 権限 (すべてのユーザーおよびすべてのホスト) の付与を可能にする行もあります。 これにより、root はプロキシユーザーを設定したり、プロキシユーザーを設定するための権限をほかのアカウントに委任したりできます。 セクション6.2.18「プロキシユーザー」を参照してください。

初期 MySQL root アカウントのパスワードを割り当てるには、次の手順を使用します。 例の root-password を、使用するパスワードに置き換えます。

サーバーが実行されていない場合は起動します。 その手順は、セクション2.10.2「サーバーの起動」を参照してください。

初期 root アカウントには、パスワードがある場合とない場合があります。 次の手順のいずれかを選択します:

root アカウントにパスワードを割り当てた後、そのアカウントを使用してサーバーに接続するたびにそのパスワードを指定する必要があります。 たとえば、mysql クライアントを使用してサーバーに接続するには、次のコマンドを使用します:

shell> mysql -u root -p
Enter password: (enter root password here)

mysqladmin でサーバーを停止するには、次のコマンドを使用します:

shell> mysqladmin -u root -p shutdown
Enter password: (enter root password here)
注記

パスワード設定の詳細は、セクション6.2.14「アカウントパスワードの割り当て」を参照してください。 root パスワードを設定したあとでそれを忘れた場合は、セクションB.3.3.2「root のパスワードをリセットする方法」を参照してください。

追加のアカウントをセットアップするには、セクション6.2.8「アカウントの追加、権限の割当ておよびアカウントの削除」を参照してください。