MySQLをインストールした直後に、root
が作成されます。 ユーザーが利用可能です。
これは、MySQLが機能しているかどうかを確認するために使用する可能性のあるユーザーですが、他の種類の使用法のユーザーであってはなりません。
なんで? パワフルすぎる 。
大きな力には大きな責任が伴います(スパイダーマンの叔父は言いました)。特に、間違いを犯した場合は大きな危険があります。
代わりに、ジョブを実行するための権限のみを持ち、それ以上は持たないアドホックユーザーを作成する必要があります。 Linuxまたは任意のUnixシステムを使用する場合も同様です。たとえば、root
を使用したくない場合です。 ユーザーですが、自分のユーザーアカウントです。
新しいユーザーを作成するには、root
を使用してMySQLに接続します ユーザー:
mysql -u root -p
次に、コマンドを使用します
CREATE USER '<username>'@'localhost' IDENTIFIED BY '<password>';
たとえば、test_user
という名前のユーザーを作成するには パスワードtest_password12A
を使用 次のコマンドを実行します:
CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'test_password12A';
このコマンドは、Query OK, 0 rows affected (X.XX sec)
という行を返す必要があります。 :
無効なパスワードを使用した場合、システムはERROR 1819 (HY000): Your password does not satisfy the current policy requirements
のように通知します。 。この場合、エラーは、パスワードが十分に複雑ではないことを示しています。これは、MySQLをインストールしたときに、パスワードに特定のポリシーを使用するように指示したためです。
それは素晴らしいことです!これでユーザーが作成され、そのユーザーを使用してMySQLに接続できます。コマンドラインから、QUIT
と入力して終了できます。 、入力:
mysql -u test_user -p
データベースを作成しようとすると、ERROR 1044 (42000): Access denied for user 'test_user'@'localhost' to database 'testing'
というエラーが表示されます。 :
なんで?ユーザーには新しいデータベースを作成する権限がないため 。
別のチュートリアルで権限を操作する方法を説明します。
@'localhost'
について言及する価値があります ユーザーの作成に使用した文字列。これは、ユーザーがローカルホストからのみ接続できることをMySQLに通知します。これは、テストを行う場合や、MySQLに接続するアプリケーションがDBMSを実行しているのと同じコンピューターで実行されている場合に問題ありません。
これが当てはまらない場合は、ユーザーが接続するIPを手動で入力するか、%
を使用する必要があります。 ワイルドカード:
CREATE USER 'test_user'@'%' IDENTIFIED BY 'test_password12A';
作成したユーザーを削除する方法を示して、このチュートリアルを終了します。
DROP USER 'test_user'@'localhost';