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

LinuxでMySQLユーザーアカウントのリストを取得する方法

名前MySQL 紹介する必要はありません。ほとんどのデータベース管理者とユーザーは、効果的な RDBMS としての堅牢性、効率性、信頼性を十分に認識しています。 (リレーショナルデータベース管理システム

MySQL 属性; 信頼性 は、完全に活用および実装されていない限り、単なる名前です。 MySQLセキュリティメトリックの信頼性は、いくつかの管理面に依存しています。それらの1つは、既存のデータベースユーザーとその個々のアクセス許可レベルの管理です。

データベース管理者は、登録されているすべてのデータベースユーザーを柔軟にプレビューできるようにする必要があります。アクティブか非アクティブかを問わず、データベースシステムの整合性を損なわないように、アクセス許可の特権を監査します。

前提条件

  • Linuxコマンドライン環境に慣れ、Sudoerユーザーになる。
  • MySQLまたはMariaDBを実行している Linuxオペレーティングシステム上のサーバー。

OracleによるMySQLの買収により、MySQLは Community Editionの両方として存在できるようになります。 ソフトウェアとEnterpriseEdition ソフトウェア。 MariaDB MySQLのオープンソースフォークです 。 MariaDBを使用しているかどうか またはMySQL 、データベースコマンドの手動実装はまったく同じです。

LinuxにMySQLデータベースサーバーをインストールする

Linuxオペレーティングシステムのディストリビューションに応じて、 MySQLをインストールできます。 またはMariaDB または次のインストールコマンドから:

LinuxにMySQLをインストールする

$ sudo apt-get install mysql-server     [On Debian, Ubuntu and Mint]
$ sudo yum install mysql-server         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo pacman -S mysql-server           [On Arch Linux]
$ sudo zypper install mysql-server      [On OpenSUSE]    

LinuxにMariaDBをインストールする

$ sudo apt-get install mariadb-server     [On Debian, Ubuntu and Mint]
$ sudo yum install mariadb-server         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo pacman -S mariadb-server           [On Arch Linux]
$ sudo zypper install mariadb-server      [On OpenSUSE]    

Linuxでの安全なMySQLデータベースサーバー

インストールしたら、 MySQLを保護する必要があります 新しいrootパスワードの設定、匿名ユーザーの削除、rootアクセスの無効化、テストデータベースの削除、および特権の再読み込みによるサーバーのインストール。

$ sudo mysql_secure_installation

MySQLユーザーアカウントの作成

RDBMSに複数のユーザーが存在する必要があります この記事が効果的であるために。 MySQLユーザーアカウントを作成するための構文は次のとおりです。

CREATE USER [IF NOT EXISTS] account_name IDENTIFIED BY 'password';

特定のデータベースホスト名に関連付けられたデータベースユーザーを作成するには、「 account_name 上記の構文の」部分は次のようになります。

username@hostname

データベースユーザーがMySQLDBに自由に接続できるようにする場合 任意のリモートホスト/マシンからサーバーを作成し、以下のみを使用します:

username

「ユーザー名」の実装 および「ホスト名」 特殊文字で定義されているものは引用符で囲む必要があります。

'username'@ 'hostname'

次に、いくつかのDBユーザーを作成しましょう:

MySQLクライアントツールを使用して、rootユーザーとしてMySQLサーバーにアクセスします。

$ sudo mysql -u root -p

以前のセットアップrootパスワードを入力します:

まず、データベースシステム内の現在のMySQLユーザーアカウントを一覧表示します。

MariaDB [(none)]> select user from mysql.user;    

ご覧のとおり、パスワードを以前に設定したデフォルトのrootユーザーしかありません。

リモート接続できるDBユーザー(ユーザー名)をいくつか作成しましょう。 )このデータベースサーバーおよびローカルでのみ接続する他のサーバー( username @ hostname

MariaDB [(none)]> create user LinuxShellTips@localhost identified by 'Sec1pass!';
MariaDB [(none)]> create user LinuxShellTipster identified by 'Min1pass!';
MariaDB [(none)]> create user LinuxShellTips_tutor identified by 'Min1pass!';

MySQLユーザーアカウントの一覧表示

まず、データベースに存在するすべてのユーザーを一覧表示します。

MariaDB [(none)]> SELECT user FROM mysql.user;

また、アカウントのパスワードの有効期限ステータスやリンクされたホスト名など、DBユーザーに関連する情報をさらにリストする必要がある場合もあります。

MariaDB [(none)]> SELECT user, host, account_locked, password_expired FROM user;

ホスト「localhost」の下にないユーザー 」はどこからでもこのデータベースサーバーにアクセスできます。現在のDBユーザーを取得するには、次のコマンドを実装します。

MariaDB [(none)]> SELECT user();

これは現在アクティブなユーザーです。または、次のコマンドを使用することもできます:

MariaDB [(none)]> SELECT current_user();

MySQLシェルを終了し、別のユーザーとしてログインします:

MariaDB [(none)]> quit;
$ mysql -u LinuxShellTips -p

複数のアクティブなデータベースユーザーを持つことができるため、それらを一覧表示するには、次のようなMySQLコマンドが必要になります。

MariaDB [(none)]>  SELECT user, host, db, command FROM information_schema.processlist;

MySQLをリストする際の注意点 ユーザーアカウント情報はテーブル名です(例:ユーザー )これらのユーザーの下にあり、データベース名( mysql など) )そのテーブルを保持します。次のチュートリアルでお会いしましょう。


Linux
  1. MySQLデータベース内のすべてのユーザーを一覧表示する方法

  2. Linuxでホームディレクトリのユーザーアカウントを削除する方法

  3. Linuxで複数のユーザーアカウントを作成する方法

  1. LinuxでMySQLデータベースをインポートおよびエクスポートする方法

  2. UbuntuでLinuxユーザーを一覧表示する方法

  3. Linuxでユーザーを一覧表示する方法

  1. LinuxでMySQLルートユーザーパスワードをリセットする方法

  2. Linuxですべてのユーザーを一覧表示する方法

  3. cPanelでMySQLデータベースにユーザーを割り当てる方法