チュートリアルシリーズMySQL シリーズ: MySQL リレーショナル データベースの基本概念 1. ユーザー管理1. ユーザーアカウントユーザーアカウントは、ユーザー名とホスト('USERNAME'@'HOST')の2つの部分で構成されます。 HOST とは:
ワイルドカード、%、_ を使用できます。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 プロセスを起動するときに、次のオプションを使用することもできます。
2. 権限管理1. 認可構文: GRANT priv_type ON [object_type] priv_level TO user@'%' [IDENTIFIED BY 'password'] [WITH GRANT OPTION]; 認可時にユーザーが存在しない場合は作成されます。そのため、通常はユーザーを別途作成せず、認可作成も同時に完了させます。 priv_type 認証タイプ
object_type 認可オブジェクト
priv_level 承認レベル
グラントオプション付き
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 をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Webアプリケーションにおけるコンテキストパスの設定の詳細な説明
1. refがコピーされ、ビューが更新されますrefを使用してオブジェクトのプロパティ値をレスポンシ...
HTML と CSS で、ボタンの色を設定したいとします。 目的の効果は得られますが、プロセスはかな...
この記事では、ユーザー名が使用可能かどうかを確認するためのVueの具体的なコードを例として紹介します...
この記事では、Vueの具体的なコード例を参考までに紹介します。具体的な内容は以下のとおりです。初心者...
1 はじめにデータベースを設計する場合、画像や音声ファイルをデータベースに挿入することは避けられませ...
すべてのオーケストレーション ファイルと構成ファイルは、私の Github からアクセスできます。構...
目次質問: ボタンをクリックすると、スパンの色が赤に変わりますか?上記の問題を分析します。 2番目の...
以下では、CSS を使用してハートの形を描く 3 つの方法を紹介します。実装プロセスは非常にシンプル...
1. 環境を準備する(Node.jsをダウンロードし、環境変数を設定する) 2. vue-cliをグ...
新しいコンピューターに変更したので、すべての環境を新しいコンピューター上で設定する必要があります。ふ...
導入現在、k8s は非常に人気があり、それについて学ぶために本を購入しました。しかし、k8s では数...
目次プロジェクトにおける一般的な支払い方法Alipay決済微信ペイプロジェクトにおける一般的な支払い...
目次概要1. アプリケーションレベルのミドルウェア2. 組み込みミドルウェア3. サードパーティミド...
Js での 2 次元配列の作成:まず、JavaScript は 1 次元配列のみをサポートしています...
勉強の計画は簡単に中断され、継続するのが困難です。先日、社内で事業の方向性を調整するための会議があり...