1. 順番に紹介する
言い換えれば、ユーザーは大量のデータに過度にアクセスすることはできません。
これらは単なる例ですが、ユーザーに必要なアクセス権のみを与える必要があるという重要な事実を説明するのに役立ちます。 これはアクセス制御と呼ばれ、アクセス制御を管理するにはユーザー アカウントの作成と管理が必要です。 意図しないエラーの防止 アクセス制御の目的は、ユーザーによる悪意のある行為を防ぐことだけではないことに注意することが重要です。 データの悪夢は、多くの場合、MySQL ステートメントの誤入力、不適切なデータベースの操作、その他のユーザー エラーなど、意図しないミスの結果です。 アクセス制御は、ユーザーが実行すべきでないステートメントを実行できないようにすることで、このような状況を防ぐのに役立ちます。 root を使用しないでください。 root ログインの使用は真剣に受け止めるべきです。絶対に必要な場合(別の管理者アカウントにログインできない場合など)のみ使用してください。 日常的な これを行うには、次のコードを使用します。 mysql を使用します。 ユーザーからユーザーを選択します。 ユーザー テーブルには、ユーザーのログイン名を格納する 複数のクライアントでの実験 ユーザー アカウントと権限の変更を実験する最良の方法は、複数のデータベース クライアント ( 2. ユーザーを作成する'ben123456' によって識別されるユーザー ben を作成します。 これによりユーザーが作成されます。 ハッシュ化されたパスワードを指定すると、 MySQL がユーザー アカウント情報を保存するために使用するテーブル (およびテーブル スキーマなど) は非常に重要であり、これらが損傷すると MySQL サーバーに重大な損害を与える可能性があります。したがって、これらのテーブルを直接処理するのではなく、タグと関数を使用して処理する方が適切です。 ユーザー アカウントの名前を変更するには、次のように RENAME USER ステートメントを使用します。 ユーザー名 ben を zhangsan に変更します。 MySQL 5 以降のバージョンでは、RENAME USER のみがサポートされます。以前は、MySQL でユーザー名を変更するには、UPDATE を使用してユーザー テーブルを直接更新することができました。 3. ユーザーアカウントを削除するユーザー zhangsan を削除します。 知らせ:
4. アクセス権ユーザー アカウントを作成したら、アクセス権を割り当てる必要があります。新しく作成されたユーザー アカウントにはアクセス権限がありません。 MySQL にログインすることはできますが、データを表示したり、データベース操作を実行したりすることはできません。 'zhang123456' によって識別されるユーザー zhangsan を作成します。 ユーザー アカウントに付与された権限を確認するには、次のように 「zhangsan」の助成金を表示 結果: パスワード '*557661E2A88A816A3155408E5D15997A8C5C7D25' で識別される 'zhangsan'@'%' に *.* の使用権限を付与します 権限が表示されません。 USAGE は権限がまったくないことを意味します (あまり直感的ではないことは承知しています)。したがって、この結果は、どのデータベースやテーブルに対しても権限がないことを意味します。 ユーザーは user@host として定義されます。MySQL の権限は、ユーザー名とホスト名の組み合わせを使用して定義されます。ホスト名を指定しない場合は、デフォルトのホスト名が使用されます(ホスト名に関係なくユーザーにアクセスを許可します) 権限を設定するには、GRANT ステートメントを使用します。 GRANT では、少なくとも以下の情報を提供する必要があります。
次の例は、GRANT の使用方法を示しています。 zhangsan に test.* の SELECT 権限を付与します。 それから: ZHANGSAN への助成金を表示 'zhangsan'@'%' に `test`.* の SELECT 権限を付与します。 各 GRANT は、ユーザーの権限を追加 (または更新) します。 MySQL はすべての許可を読み取り、それに基づいて権限を決定します。 test.* の SELECT を取り消します (zhangsan から)。 この REVOKE ステートメントは、ユーザー bforta に付与された SELECT アクセス権限を取り消します。取り消されるアクセス権が存在している必要があります。存在しない場合はエラーが発生します。 GRANT と REVOKE は、複数のレベルでアクセス権限を制御します。
例: ALL GRANT OPTION ALTERを除くすべての権限 ALTER TABLEを使用する ALTER ROUTINE ALTER PROCEDURE と DROP PROCEDURE の使用 CREATE CREATE TABLEの使用 CREATE ROUTINE CREATE PROCEDURE の使用 一時作成 テーブル CREATE TEMPORARY TABLEの使用 CREATE USER CREATE USER、DROP USER、RENAME USER、および REVOKE の使用 すべての特権 ビューを作成 DELETE DELETEの使用 DROP DROP TABLEの使用 EXECUTE CALLとストアドプロシージャFILEの使用 SELECT INTO OUTFILEとLOAD DATA INFILEの使用 GRANT OPTION GRANTとREVOKEの使用 INDEX CREATE INDEX と DROP INDEX の使用 INSERT INSERTの使用 ロックテーブル PROCESS SHOW FULL PROCESSLIST の使用 FLUSHを使用したRELOAD レプリケーションクライアントサーバロケーションアクセスレプリケーションスレーブによるSELECTを使用したSELECTを使用した SHOW DATABASESの使用 SHOW VIEW SHOW CREATE VIEWの使用 SHUTDOWN mysqladmin shut down を使用します (MySQL をシャットダウンします) SUPERはCHANGE MASTER、KILL、LOGS、PURGE、MASTERを使用します そして SET GLOBAL。また、mysqladminデバッグログインUPDATEを許可するUPDATEを使用する 使用方法 アクセス権なし
GRANT および REVOKE を使用した将来の承認では、ユーザー アカウントが存在している必要がありますが、関連するオブジェクトにはそのような要件はありません。 これにより、管理者はデータベースやテーブルを作成する前にセキュリティ対策を設計して実装できます。 この副作用として、データベースまたはテーブルが削除されても (DROP ステートメントを使用して)、関連付けられているアクセス権限は引き続き存在します。さらに、将来データベースまたはテーブルを再作成した場合でも、これらの権限は引き続き機能します。 次のように、各権限をリストし、カンマで区切って複数の GRANT ステートメントを連結することにより、複数の付与を簡素化できます。 zhangsan に SELECT、INSERT ON test.* 権限を付与します。 5. パスワードを変更するユーザーのパスワードを変更するには、SET PASSWORD ステートメントを使用します。新しいパスワードは次のように暗号化する必要があります。 zhangsan のパスワードを設定する = PASSWORD('zhangsan'); 現在のユーザーのパスワードを変更します: パスワードの設定 = PASSWORD('root'); MySQL セキュリティ管理の詳細に関するこの記事はこれで終わりです。MySQL セキュリティ管理に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: スタイル属性 (element.style) で定義されたインライン スタイルを削除する方法
>>: 水平プログレスバーの最後にテキストを表示するための実装コードの CSS 記述
1. mysqlをインストールします。 udo apt-getでmysql-serverをインストー...
この記事の例では、参考までに簡単な計算機を実装するためのjsの具体的なコードを共有しています。具体的...
Web ページのスタイル設定に関しては、プロジェクトで純粋な CSS または SCSS (および他...
シナリオ: ページAがページBを開くと、ページBで操作した後、ページAは変更されたデータを同期する必...
目次序文1. catコマンド: 2. moreコマンド: 3. lessコマンド: 4. headコ...
序文今日、自作のコンポーネントを使っていたところ、突然、長い間忘れていたバブリングイベントに遭遇しま...
序文1. デバウンス: 高頻度イベントがトリガーされた後、関数は n 秒以内に 1 回だけ実行されま...
以前のブログでは、Tomcatのサーバーの各コンポーネントの使用について学びました。 Tomcatは...
Nginx は、ngx_http_limit_req_module モジュールの limit_req...
目次1. パッケージ化コマンドを追加する2. パッケージ化されたコードを実行する3. パッケージ化し...
目次1. Dockerをインストールする2. コードを書く3. Dockerfileを書く4. 画像...
展開環境:インストールバージョン Red Hat Cent 7.0 MYSQL バージョン 8.0....
GitHub アドレス: https://github.com/dmhsq/dmhsq-mysql-...
1. ツールディレクトリのファイル構造 [root@www tools]# ツリーツール/ ツール/...
オンライン MySQL トランザクションの問題の記録先週の金曜日、大きなテーブルを削除する操作を実行...