MySQL シリーズ 6 のユーザーと認証

MySQL シリーズ 6 のユーザーと認証

チュートリアルシリーズ

MySQL シリーズ: MySQL リレーショナル データベースの基本概念
MySQLシリーズのMariaDBサーバーのインストール
MySQL シリーズ II マルチインスタンス構成
MySQL シリーズ 3 基礎
MySQL シリーズ 4 SQL 構文
MySQLシリーズ5つのビュー、ストアド関数、ストアドプロシージャ、トリガー
MySQL シリーズ 7 MySQL ストレージ エンジン
MySQL シリーズ 8 MySQL サーバー変数
MySQL シリーズ 9 MySQL クエリ キャッシュとインデックス
MySQL シリーズ 10 同時実行制御を実装するための MySQL トランザクション分離
MySQL シリーズ 11 ログ
MySQL シリーズ 12 バックアップとリカバリ
MySQL シリーズ 13 MySQL レプリケーション
MySQL シリーズ 14 MySQL 高可用性実装
MySQLシリーズ15 MySQL共通設定とパフォーマンスストレステスト

1. ユーザー管理

1. ユーザーアカウント

ユーザーアカウントは、ユーザー名とホスト('USERNAME'@'HOST')の2つの部分で構成されます。

HOST とは:

  • ホスト名
  • 特定のIPアドレス
  • ネットワークセグメント/マスク

ワイルドカード、%、_ を使用できます。192.168.% は、このネットワークセグメント内のすべてのホストを意味します。

2. アカウントの追加と削除

メイン: データベース内のユーザー情報を変更した後、FLUSH PRIVILEGESを実行して認証テーブルを更新し、有効にする必要があります。

作成する

  MariaDB [mysql]> ユーザー 'user1'@'192.168.%' を作成します。
  MariaDB [mysql]> 'user2'@'192.168.%' というユーザーを作成し、'your_password' で識別します。
  MariaDB [mysql]> ユーザー、ホスト、パスワードをユーザーから選択します。
  +-------+-----------+--------------------------------------------------------+
  | ユーザー | ホスト | パスワード |
  +-------+-----------+--------------------------------------------------------+
  | ルート | ローカルホスト | *4A54C3F37C03C7FBACE31591D6A8C546F93DF5C5 |
  | ルート | centos7 | |
  | ルート | 127.0.0.1 | |
  | ルート | ::1 | |
  | | ローカルホスト | |
  | | centos7 | |
  | ユーザー1 | 192.168.% | |
  | ユーザー2 | 192.168.% | *9E72259BA9214F692A85B240647C4D95B0F2E08B |
  +-------+-----------+--------------------------------------------------------+

消去

  MariaDB [mysql]> DROP USER user2@'192.168.%';
  MariaDB [mysql]> ユーザー、ホスト、パスワードをユーザーから選択します。      
  +-------+-----------+--------------------------------------------------------+
  | ユーザー | ホスト | パスワード |
  +-------+-----------+--------------------------------------------------------+
  | ルート | ローカルホスト | *4A54C3F37C03C7FBACE31591D6A8C546F93DF5C5 |
  | ルート | centos7 | |
  | ルート | 127.0.0.1 | |
  | ルート | ::1 | |
  | | ローカルホスト | |
  | | centos7 | |
  | ユーザー1 | 192.168.% | |
  +-------+-----------+--------------------------------------------------------+

名前を変更

  MariaDB [mysql]> ユーザー user1@'192.168.%' の名前を testuser@'%' に変更します。
  MariaDB [mysql]> mysql.user からユーザー、ホスト、パスワードを選択します。
  +----------+----------+--------------------------------------------------------+
  | ユーザー | ホスト | パスワード |
  +----------+----------+--------------------------------------------------------+
  | ルート | ローカルホスト | *4A54C3F37C03C7FBACE31591D6A8C546F93DF5C5 |
  | ルート | centos7 | |
  | ルート | 127.0.0.1 | |
  | ルート | ::1 | |
  | | ローカルホスト | |
  | | centos7 | |
  | テストユーザー | % | |
  +----------+----------+--------------------------------------------------------+

パスワードを変更する

  MariaDB [mysql]> testuser@'%' のパスワードを設定します = PASSWORD('testpass');
  MariaDB [mysql]> mysql.user からユーザー、ホスト、パスワードを選択します。          
  +----------+----------+--------------------------------------------------------+
  | ユーザー | ホスト | パスワード |
  +----------+----------+--------------------------------------------------------+
  | ルート | ローカルホスト | *4A54C3F37C03C7FBACE31591D6A8C546F93DF5C5 |
  | ルート | centos7 | |
  | ルート | 127.0.0.1 | |
  | ルート | ::1 | |
  | | ローカルホスト | |
  | | centos7 | |
  | テストユーザー | % | *00E247AC5F9AF26AE0194B41E1E769DEE1429A29 |
  +----------+----------+--------------------------------------------------------+

パスワードを変更する他の方法:

​ ユーザーを更新します。SET password=PASSWORD('testpass') WHERE user='testuser';

# mysqladmin -uroot -poldpass パスワード 'newpass'

3. 管理者アカウントのパスワードを解読する

空のデータベースからパスワードを回復する

  # systemctl を停止 mariadb
  # rm -rf /var/lib/mysql/* #データベースを削除して終了します # systemctl start mariadb

データを使ってパスワードを回復する

1) /etc/my.cnf設定ファイルの[mydqld]の下にskip-grant-tablesとskip-networkingパラメータを追加します。

2) # systemctl restart mariadb サービスを再起動します

3) mysqlを実行してデータベースにログインする

4) MariaDB [(なし)]> UPDATE mysql.user SET password=PASSWORD('newpassword') WHERE user='root' AND host='localhost'; #パスワードを更新

5) MariaDB [(none)]> FLUSH PRIVILEGES; #認証テーブルを更新する

6) 終了し、設定ファイルを変更し、skip-grant-tables および skip-networking パラメータを削除して、サービスを再起動します。mysqld プロセスを起動するときに、次のオプションを使用することもできます。

--skip-grant-tables

--ネットワークをスキップ

2. 権限管理

1. 認可

構文: GRANT priv_type ON [object_type] priv_level TO user@'%' [IDENTIFIED BY 'password'] [WITH GRANT OPTION];

認可時にユーザーが存在しない場合は作成されます。そのため、通常はユーザーを別途作成せず、認可作成も同時に完了させます。

priv_type 認証タイプ

-選択

- 挿入

- 更新

- 削除

- 作成する

- 落とす

-索引

-変更

- データベースを表示

- 一時テーブルを作成する

- テーブルをロックする

- ビューの作成

- ビューを表示

- ユーザーの作成

- すべての権限またはすべて

object_type 認可オブジェクト

-テーブル

- 関数

- 手順

priv_level 承認レベル

- * または *.* はすべてのライブラリを意味します

- db_name.*は指定されたデータベース内のすべてのテーブルを意味します

- db_name.tbl_name 指定されたライブラリ内の指定されたテーブル

- tbl_nameは現在のライブラリのテーブルを示します

- db_name.routine_name は、指定されたライブラリの関数、ストアド プロシージャ、またはトリガーを示します。

グラントオプション付き

- MAX_QUERIES_PER_HOUR カウント

- MAX_UPDATES_PER_HOUR カウント

-MAX_CONNECTIONS_PER_HOUR カウント

-MAX_USER_CONNECTIONS カウント

MariaDB [school]> GRANT SELECT(stuid,name) ON TABLE school.students TO admin@'%' IDENTIFIED BY 'admin'; #studentsテーブルのstuidフィールドとnameフィールドのクエリ権限をadmin@'%'ユーザーに許可しますMariaDB [school]> FLUSH PRIVILEGES; #許可テーブルを更新します

2. クエリの承認

MariaDB [school]> SHOW GRANTS FOR admin@'%'\G #指定されたユーザーの権限を表示します**************************** 1. 行 ****************************
admin@% への許可: パスワード '*4ACFE3202A5FF5CF467898FC58AAB1D615029441' で識別される 'admin'@'%' への *.* の使用許可
************************** 2. 行 ****************************
admin@% への権限付与: GRANT SELECT (stuid, name) ON `school`.`students` TO 'admin'@'%'
[root@working ~]# mysql -uadmin -padmin -h192.168.0.7
MariaDB [(なし)]> SHOW GRANTS FOR CURRENT_USER()\G #自分の権限を照会**************************** 1. 行 ****************************
admin@% への許可: パスワード '*4ACFE3202A5FF5CF467898FC58AAB1D615029441' で識別される 'admin'@'%' への *.* の使用許可
************************** 2. 行 ****************************
admin@% への権限付与: GRANT SELECT (stuid, name) ON `school`.`students` TO 'admin'@'%'

3. 認可の取り消し

MariaDB [school]> REVOKE SELECT(stuid) ON school.students FROM admin@'%'; #stuidフィールドに対するadmin@'%'ユーザーのクエリ権限を取り消します

要約する

これで、MySQL ユーザーと認証に関するこの記事は終了です。MySQL ユーザーと認証に関する関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQL ユーザーの作成と認証方法
  • MySql のユーザー追加、認証、パスワードの変更、その他のステートメント
  • MySQL ユーザーの作成、承認、取り消しの方法
  • MySQL で新規ユーザーの作成と認証を行う方法の共有
  • MySQL でのユーザー認証と認証削除の方法
  • mysql データベースの作成、ユーザーの追加、ユーザー認証の実用的な方法
  • mysql5.7 ユーザー権限の作成、ユーザーの削除、権限の取り消し
  • MySql のインストールと設定方法 (MySQL ユーザーの追加、ユーザーの削除、認証)
  • WIN コマンドプロンプトで MySQL ユーザーのパスワードを作成、承認、削除、変更する
  • MySQL は、ユーザーの作成、ユーザーの承認、ユーザー権限の取り消し、ユーザー パスワードの変更、およびユーザーの削除を行います (実用的なヒント)

<<:  Webアプリケーションにおけるコンテキストパスの設定の詳細な説明

>>:  CSS疑似クラス名を数字で始めないでください

推薦する

3Dカルーセル効果を実現するjs

この記事では、3Dカルーセル効果をjsで実装するための具体的なコードを参考までに共有します。具体的な...

HTML+CSS3+JSで実装されたドロップダウンメニュー

成果を達成する html <div class="コンテナ"> &l...

MySQLのレプリケーションの詳細な分析

1.MySQLレプリケーションの概念これは、プライマリ データベースの DDL および DML 操作...

MySQLは「order by」がどのように機能するかを簡単に理解します

並べ替えの場合、order by は非常に頻繁に使用するキーワードです。インデックスに関するこれまで...

WEB 標準ウェブページ構造

背景画像でも、ページ上のテキストサイズでも、1 ピクセルの違いは非常に明白です。そして、私は学生時代...

JavaScript 配列の重複排除とフラット化関数の紹介

目次1. 配列の平坦化(配列の次元削減とも呼ばれる)方法1: 削減メソッドを使用する方法2: スタッ...

Dockerサーバーのストレージリソースプール不足問題の解決

目次1. 問題の説明2. 問題分析3. 問題解決1. Dockerのディスク使用量を確認する2. 再...

CSSラベル表示モードについて1つの記事で学ぶ

タグの種類(表示モード) HTML タグは、一般的にブロック タグとインライン タグの 2 種類に分...

Vueはシンプルな計算機能を実装します

この記事では、参考までに、Vue の具体的なコードで簡単な計算機を実装する方法を紹介します。具体的な...

ウェブページの HTML コード: スクロールテキストの作成

このセクションでは、Web ページ内のテキストをスクロールしたり、スクロール プロパティを制御できる...

Docker で Ubuntu に Python3 と Pip をインストールする際の問題

文章1) Ubuntuイメージをダウンロードする docker プル Ubuntu 2) 画像を見る...

MySQL ストレステストツール Mysqlslap の使用

1. MySQL独自のストレステストツールMysqlslap mysqlslap は、mysql に...

VUEプロジェクトでXSS攻撃に遭遇した実体験

目次序文原因を発見するカスタムフィルタリングルール要約する序文インターネットの急速な発展に伴い、情報...

Prometheusコンテナのデプロイメントのための実用的なソリューション

環境ホスト名IPアドレス仕えるプロメテウス192.168.237.137プロメテウス、グラファナノー...

IIS 7.5はURL書き換えモジュールを使用してWebページのリダイレクトを実現します。

Apache では構成ファイルで Web ページまたは Web サイトの書き換えを簡単に設定できる...