チュートリアルシリーズ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アプリケーションにおけるコンテキストパスの設定の詳細な説明
Linux環境変数の設定ソフトウェアのインストールをカスタマイズする場合、多くの場合、環境変数を設定...
第1章: keepalivedの紹介VRRP プロトコルの目的は、静的ルーティングの単一点障害問題を...
Docker ダウンロード アドレス: http://get.daocloud.io/#instal...
JS でよく使用されるイベントは次の通りです。ページイベント: load;フォーカス イベント: フ...
環境説明:実行中の MySQL 環境があります。以前の構成ファイルの設定が単純すぎたため (inno...
isnullの代わりにifnullを使用するisnull は、null かどうかを判断するために使用...
目次1. テストデータ2. ヌル値による不便3. スペース、空の値、null をどのように判断すれば...
序文私は以前から、SQL 文がどのように実行され、どのような順序で実行されるのかを知りたいと思ってい...
これまでに CSS の基本的なセレクターをいくつか学習しましたが、今日は CSS の複雑なセレクター...
この記事では、カルーセルアニメーションを実現するためのVueコンポーネントの具体的なコードを例として...
Windows Server 2019 は、Microsoft が公式にリリースした最新のサーバー...
目次1. コンポーネント2. キープアライブ2.1 問題点2.2 キープアライブを使って解決する2....
データベースはさておき、人生における方言とは何でしょうか?方言とは、ある場所特有の言語です。他の場所...
float の使用例左サスペンション: float:left;右サスペンション: float:rig...
仮想マシンソフトウェア: VMware Workstationイメージ: deepin-deskto...