MySQLはユーザーアカウントを作成し、権限を付与します

MySQLは、間違いなく、広く使用されている主要なオープンソースデータベース管理システムの1つです。 これは、ほとんどのWebホスティング会社やその他のクラウドプロバイダーで選択されている、推奨されるリレーショナルデータベース管理システムです。

このチュートリアルでは、MySQLユーザーアカウントを作成し、作成されたデータベースにアクセスして管理できるようにする権限を付与する方法について説明します。

前提条件

始める前に、チュートリアルでは、システムにMySQLのフォークであるMySQLデータベースまたはMariaDBのインスタンスがすでにインストールされていることを前提としています。

MySQLシェルへのアクセス

MySQLまたはMariaDBがインストールされて保護されたら、コマンドを実行してシェルにアクセスできます

$ mysql -u root -p

その後、rootパスワードの入力を求められます。入力されたら、Enterキーを押してシェルにアクセスします。

MySQLでユーザーを作成する方法

MYSQLにユーザーを追加するには、次のようにmysql createuserコマンドを使用します。

CREATE USER 'linoxide_user'@'localhost' IDENTIFIED BY 'P@ssword123';

MySQLユーザーアカウントを作成する

MySQLユーザーは2つのセクションで構成されています。 username そしてその hostname。 上記のコマンドから、ユーザー名は linoxide_user ホスト名は localhost

ホスト名セクションは、ユーザーが linoxide_user MySQLにローカルに、つまりMySQLがホストされているサーバーからのみ接続できます。

外部ホストシステムからのアクセスを許可するには、 localhost リモートホストのIPアドレスを使用します。

にとって example、IPが「172.16.10.10」のホストシステムからのアクセスを許可するには、次のコマンドを実行します。

CREATE USER 'linoxide_user'@'172.16.10.10' IDENTIFIED BY 'P@ssword123';

MySQLユーザーアカウントを作成する

ホストシステムからのアクセスを許可するには、ワイルドカードとして機能する「%」を使用します。

CREATE USER 'linoxide_user'@'%' IDENTIFIED BY 'P@ssword123';

MySQLユーザーへの権限の付与

ユーザーを作成するときに、データベースエンジンに特定の特権を割り当てることができます。 これらの特権は、ユーザーにデータベースへのアクセスを許可し、データベースにいくつかの変更を実行できるようにします。

MySQLには、 無数の特権 ユーザーに割り当てることができます。 ただし、このガイドでは、最も一般的に使用される特権に光を当てます。

選択する: これにより、ユーザーはデータベース全体を読み取ることができます

アップデート:これにより、ユーザーはテーブルの行を更新できます

入れる: ユーザーが特定のテーブルに行を挿入できるようにします

消去:指定されたテーブルの行を削除するための使用許可を付与します

作成:ユーザーがデータベースとテーブルを作成できるようにします

落とす:データベース全体とテーブルを削除する権限をユーザーに付与します

データベースにアクセスするための特定の特権をユーザーに付与するには、以下に示す構文を使用します。

GRANT privilege1, privilege2 ON database_name.* TO 'database_user'@'localhost';

にとって example:

GRANT SELECT, INSERT, ON database_name.* TO database_user@'localhost';

部分的な特権を付与する

データベース内の特定のテーブルの特定のユーザーにすべての特権を付与するには、次のコマンドを発行します。

GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';

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

すべてのデータベースに対するすべての権限をユーザーに付与するには、次のコマンドを実行します。

GRANT ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost

すべてのユーザーにすべての特権を付与する

ユーザーアカウント権限の表示

ユーザーが作成され、データベースで特権が割り当てられると、ユーザーに付与された特権を簡単に確認できます。 SHOW GRANTS 以下に示すコマンド:

SHOW GRANTS FOR 'database_user'@'localhost';

ユーザー権限を表示する

MySQLユーザーからの権限の取り消し

さらに、MySQLユーザーから1つまたは複数の特権を取り消すことを選択できます。 構文は、ユーザー特権を付与する場合とほぼ同じです。

REVOKE ALL PRIVILEGES ON database_name.* FROM 'database_user'@'localhost';

ユーザーの特権を取り消す

既存のMySQLユーザーを削除します

MySQLユーザーを削除または削除するには、次のコマンドを実行します。 DROP 示されているコマンド:

DROP USER 'database_user'@'localhost';

にとって example:

MySQLユーザーを削除する

結論

このチュートリアルでは、特権を割り当てて取り消すことにより、MySQLユーザーを作成および管理するための基本的な概念について説明します。 これは初心者にとって素晴らしい出発点になるはずです。 MySQLユーザーアカウントを簡単に作成し、特権とユーザーを管理できることを願っています。