Unix (Linux) では、マニュアルの指示に従って MySQL をインストールした後、mysql_install_db スクリプトを実行して、認可
テーブルと初期権限を含む mysql データベースを作成する必要があります。 Windows では、ディストリビューション内のセットアップ プログラムを実行して、データ ディレクトリと mysql データベースを初期化します。
サーバーも稼働していると仮定します。
初めて MySQL をマシンにインストールすると、mysql データベース内の認証テーブルが次のように初期化されます:
パスワードを指定せずにローカルホストから root として接続できます。 root ユーザーはすべての権限 (管理者権限を含む)
を持ち、何でもできます。 (ちなみに、MySQL スーパーユーザーは Unix スーパーユーザーと同じ名前であり、互いに何の関係もありません。)
test および any という名前のデータベースにローカルに接続できるユーザーには、匿名アクセスが許可されます。名前が test_ で始まるデータベース。匿名ユーザーはデータベース上であらゆることを
実行できますが、管理権限はありません。
接続ユーザーがローカルホストのホスト名を使用するか実際のホスト名を使用するかに関係なく、ローカルホストから複数のサーバーへの接続が許可されます。例:
% mysql -h localhost test
% mysql -h pig.snake.net test
指定もせずに root として MySQL に接続しているという事実パスワードは単に初期インストールが安全ではないことを意味するため、管理者として最初に行うべきこと
は root パスワードを設定することです。その後、パスワードの設定方法に応じて、サーバーはこの変更を認識できるように認可テーブルをリロードします
変更。 (サーバーが起動すると、テーブルがメモリに再ロードされるため、テーブルが変更されたことが認識されない可能性があります。)
MySQL 3.22 以降の場合、mysqladmin でパスワードを設定できます:
% mysqladmin -u root パスワード yourpassword
MySQL のどのバージョンでも、mysql プログラムを使用して、mysql データベース内のユーザー認証テーブルを直接変更できます:
% mysql -u root mysql
mysql>UPDATE user SET password=PASSWORD("yourpassword") WHERE User="root";
古いバージョンの MySQL を使用している場合は、mysql と UPDATE を使用してください。
パスワードを設定した後、次のコマンドを実行して、サーバーに認可テーブルをリロードするように指示する必要があるかどうかを確認します。
% mysqladmin -u root status
Ifサーバーは引き続き許可します。 パスワードを指定せずに root としてサーバーに接続し、認証テーブルをリロードします:
% mysqladmin -u root reload
root パスワードを設定した後 (および認証をリロードします)必要に応じてテーブル)、root としてサーバーに接続するときは常に
パスワードを指定する必要があります