はじめに
データベースを管理する際の最も一般的なタスクの1つは、アクセスとアクセス許可を監視することです。 MariaDBは、オープンソースで完全に互換性のあるリレーショナルデータベース管理システム(RDBMS)です。 MariaDBクライアントを使用すると、新しいユーザーを簡単に追加して、さまざまな程度の特権を付与できます。
この簡単なチュートリアルでは、MariaDBユーザーを作成する方法と、新しく作成したユーザーに特権を付与する方法を示します。
前提条件
- コマンドライン/ターミナルウィンドウへのアクセス
- sudoのユーザーアカウント 特権
- MariaDBの動作中のインスタンス
MariaDBサーバーへのアクセス
コマンドラインターミナルで次のコマンドを入力して、MariaDBクライアントシェルにアクセスします。
sudo mysql -u root
rootユーザーが事前定義されたパスワードを持っている場合は、その事実を反映するようにコマンドを変更します。
sudo mysql -u root -p
パスワードを入力して、MariaDBクライアントにアクセスします。
データベースをまだ作成していない場合は、MariaDBクライアントシェルで次のコマンドを入力することで簡単に作成できます。
CREATE DATABASE 'yourDB';
次のコマンドを入力して、既存のデータベースのリストにアクセスします。
SHOW DATABASES;
作成したデータベースがリストにあります。
新しいMariaDBユーザーを作成する
新しいMariaDBユーザーを作成するには、次のコマンドを入力します。
CREATE USER 'user1'@localhost IDENTIFIED BY 'password1';
この場合、サーバーのIPではなく、「localhost」のホスト名を使用します。この方法は、サーバーにSSHで接続する場合、またはローカルクライアントを使用してローカルのMySQLサーバーに接続する場合に一般的です。
user1を作成したら 、次のように入力してステータスを確認します:
SELECT User FROM mysql.user;
出力には、既存のすべてのユーザーが一覧表示されます。
MariaDBユーザーに権限を付与する
新しく作成されたユーザーには、データベースを管理したり、MariaDBシェルにアクセスしたりする権限がありません。
すべての権限を付与するには user1 :
GRANT ALL PRIVILEGES ON *.* TO 'user1'@localhost IDENTIFIED BY 'password1';
*。* ステートメント内は、ユーザーに特権が与えられているデータベースまたはテーブルを指します。この特定のコマンドは、サーバー上にあるすべてのデータベースへのアクセスを提供します。これは重大なセキュリティ問題である可能性があるため、シンボルをアクセスを提供しているデータベースの名前に置き換える必要があります。
yourDBにのみ特権を付与する 、次のステートメントを入力します:
GRANT ALL PRIVILEGES ON 'yourDB'.* TO 'user1'@localhost;
コマンドで新しい特権が付与されたら、特権を更新することが重要です。
FLUSH PRIVILEGES;
これで、作成したユーザーは、指定されたデータベースとテーブルへの完全な権限とアクセス権を持ちます。
この手順を完了すると、新しい user1を確認できます。 次のステートメントを使用して、適切な権限を持っている:
SHOW GRANTS FOR 'user1'@localhost;
システムから提供された情報が端末に表示されます。
MariaDBユーザーアカウントを削除する
ユーザーを削除する必要がある場合は、 DROP
を使用できます ステートメント:
DROP USER 'user1'@localhost;
出力は、 user1 アクセス権も特権もなくなりました。