チュートリアルシリーズ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アプリケーションにおけるコンテキストパスの設定の詳細な説明
この記事では、3Dカルーセル効果をjsで実装するための具体的なコードを参考までに共有します。具体的な...
成果を達成する html <div class="コンテナ"> &l...
1.MySQLレプリケーションの概念これは、プライマリ データベースの DDL および DML 操作...
並べ替えの場合、order by は非常に頻繁に使用するキーワードです。インデックスに関するこれまで...
背景画像でも、ページ上のテキストサイズでも、1 ピクセルの違いは非常に明白です。そして、私は学生時代...
目次1. 配列の平坦化(配列の次元削減とも呼ばれる)方法1: 削減メソッドを使用する方法2: スタッ...
目次1. 問題の説明2. 問題分析3. 問題解決1. Dockerのディスク使用量を確認する2. 再...
タグの種類(表示モード) HTML タグは、一般的にブロック タグとインライン タグの 2 種類に分...
この記事では、参考までに、Vue の具体的なコードで簡単な計算機を実装する方法を紹介します。具体的な...
このセクションでは、Web ページ内のテキストをスクロールしたり、スクロール プロパティを制御できる...
文章1) Ubuntuイメージをダウンロードする docker プル Ubuntu 2) 画像を見る...
1. MySQL独自のストレステストツールMysqlslap mysqlslap は、mysql に...
目次序文原因を発見するカスタムフィルタリングルール要約する序文インターネットの急速な発展に伴い、情報...
環境ホスト名IPアドレス仕えるプロメテウス192.168.237.137プロメテウス、グラファナノー...
Apache では構成ファイルで Web ページまたは Web サイトの書き換えを簡単に設定できる...