GNU/Linux >> Linux の 問題 >  >> Linux

新しいユーザーを作成し、MySQLで権限を付与します

この記事では、MySQL®データベースの権限について説明しています。また、新しいユーザーを作成し、権限を付与または取り消す方法についても説明します。

MySQLコマンドの使用

以下は、MySQLコマンドに関する役立つ提案です。

キャピタライゼーション

MySQLコマンドを大文字で入力する必要はありません。次のコマンドはどちらも同じように機能します。

CREATE USER ‘username’@’localhost’ IDENTIFIED BY ‘password’;
create user ‘username’@’localhost’ identified by ‘password’;

ただし、大文字を使用すると、コマンド構文をコマンドのデータまたは変数要素から分離するのに役立ちます。

localhostパラメーター

また、localhostを変更することもできます 要素。これにより、ユーザーは現在使用しているコンピューターからデータベースにアクセスできます。ユーザーがどこからでもデータベースにアクセスできるようにする場合は、%を使用します localhostの代わりにsymbol 。ユーザーが特定のIPアドレスからデータベースにログインできるようにする場合は、代わりにそのIPアドレスを挿入します。例:username’@’22.111.000.34

したがって、次のコマンドのいずれかを使用してユーザーを作成できます。

CREATE USER'username' @'localhost' IDENTIFIED BY'password'; CREATE USER'username' @'%' IDENTIFIED BY'password'; CREATE USER'username' @ '22 .111.000.34' IDENTIFIED BY'password';

>

注: ユーザーが2つの特定の場所からデータベースにアクセスできるようにし、それらの場所のみにアクセスできるようにする場合は、ユーザーを2回作成する必要があります。たとえば、ユーザーが現在使用しているコンピューターと特定のIPアドレスからデータベースにログインできるようにしたいとします。まず、localhostを使用してユーザーを作成します コマンド内の場所。次に、特定のIPアドレスを使用してユーザーを再作成します。

権限

一般的な権限には次のものがあります:

  • すべての特権 :ユーザーに指定されたデータベースへのフルアクセスを許可するか、データベースを指定しない場合はシステム全体へのグローバルアクセスを許可します。この権限には、 GRANTを除く次のすべての権限が含まれます 。

  • 作成 :ユーザーが新しいテーブルまたはデータベースを作成できるようにします。

  • ドロップ :ユーザーがテーブルまたはデータベースを削除できるようにします。

  • 削除 :ユーザーがテーブルから行を削除できるようにします。

  • 挿入 :ユーザーがテーブルに行を挿入できるようにします。

  • 選択 :指定されたデータベースに読み取り専用権限をユーザーに付与します。

  • 更新 :ユーザーがテーブルの行を更新できるようにします。

  • ロックテーブル :ユーザーがテーブルをロックできるようにします。

  • データベースを表示 :ユーザーがすべてのデータベースを一覧表示できるようにします。

  • 付与オプション :ユーザーが他のユーザーの権限を付与または削除できるようにします。この許可を明示的に付与する必要があります。

ログイン

次のコマンドを使用して、rootユーザーとしてMySQLにログインします。

mysql -u root -p

システムは、サーバー自体のルートパスワードとは異なるMySQLのルートパスワードの入力を求めます。

注: サーバーでsudo権限を持っている場合は、MySQLのrootパスワードが〜/.my.cnfにある可能性があります。 rootユーザーとしてのファイル。

新しいユーザーを作成する

rootとしてMySQLにログインしたので、ユーザーを作成できます。好きなユーザー名を選択してください。usernameの代わりに次のコマンドを入力してください およびpassword 選択したユーザー名とパスワードを使用:

CREATE USER ‘username’@’localhost’ IDENTIFIED BY ‘password’;

成功すると、システムはクエリOKを表示します 。

許可を与える

次の形式を使用して、MySQLでユーザー権限を付与します。

GRANT permission1, permission2, permission3 ON databasename.tablename TO ‘newuser’@’localhost’;

データベース上のすべてのテーブルへのアクセスをユーザーに許可するだけの場合は、databasename.*を使用します。 databasename.tablenameの代わりに 。同様に、すべてのデータベースのすべてのテーブルに対する特定の権限セットをユーザーに付与する場合は、*.*を使用します。 。

特権の付与の例:

GRANT ALL PRIVILEGES ON databasename.* TO ‘newuser’@’%’;

GRANT ALL PRIVILEGES, GRANT OPTION ON *.* TO ‘newuser’@’22.111.000.34’;

GRANT SELECT, SHOW DATABASES, LOCK TABLES ON databasename.* TO ‘newuser’@’localhost’;
権限を取り消す

ユーザーの権限を取り消す必要がある場合は、次の形式を使用してください。

REMOVE permission1, permission2, permission3 ON databasename.* FROM ‘newuser’@’localhost’;
権限を確認する

ユーザーが持っている特権を確認するには、次のコマンドを使用します。

SHOW GRANTS newuser;
権限を適用する

ユーザーを作成したり、特権を付与したり、特権を取り消したりした後、次のコマンドを実行します。

FLUSH PRIVILEGES;

このコマンドは、新しいユーザーと特権が含まれているテーブルを再ロードします。変更を保存することと考えてください。

ログアウト

変更が完了したら、次のコマンドを使用してMySQLを安全に終了します。

EXIT;

Linux
  1. 新しいデータベースを作成し、MySQL/MariaDBで使用します

  2. Howto MySQL:ユーザーを作成し、データベースに権限を付与します

  3. MySQLユーザーとデータベースの基本

  1. 新しいMySQLユーザーを追加してアクセス権限を付与する方法

  2. CWPでMySQLデータベースとそのユーザーを作成する方法は?

  3. cPanelでMySQLデータベースとユーザーを作成する

  1. 新しいMySQLユーザーを作成して権限を付与する方法

  2. MariaDBユーザーを作成して特権を付与する方法

  3. MySQLでユーザーを作成および編集する