まず init-connect を通じて mysql 接続を初期化し、次にインスタンスに接続する必要があります。 これを活用して、init-connect 中にユーザーの thread_id、ユーザー名、ユーザー アドレスを記録することで、db アクセス監査機能を実装します。 実装手順 1. 監査用のライブラリ テーブルを作成します。 ビジネス ライブラリとの競合を避けるには、独自のライブラリを別途作成します。 #データベーステーブルを作成するコード create database db_monitor; db_monitor を使用します。 CREATE TABLE アクセスログ (thread_id int(11) デフォルト NULL、#プロセスID log_time datetime デフォルト null、#ログイン時間 localname varchar(50) デフォルト NULL、#詳細な IP を含むログイン名 matchname varchar(50) DEFAULT NULL、#ログインユーザーキー idx_log_time(log_time) )ENGINE=InnoDB デフォルト文字セット=utf8; 2. init-connectパラメータを設定する このパラメータは動的に調整できます。また、このパラメータは設定ファイル my.cnf に追加する必要があることに注意してください。追加しないと、次回の再起動後に無効になります。 mysql> 'init_connect%' のような変数を表示します。 +---------------+-------+ | 変数名 | 値 | +---------------+-------+ | 初期化接続 | | +---------------+-------+ セット内の1行(0.00秒) mysql> グローバル init_connect を 'db_monitor.accesslog(thread_id,log_time,localname,matchname) に挿入します。values(connection_id(),now(),user(),current_user());' を設定します。 3. 一般ユーザーにaccesslogテーブルへの挿入権限を付与する この点は重要です このパラメータは通常のユーザーに対してのみ有効であり、スーパー権限を持つユーザーには機能しません。 通常のユーザーの場合は、この機能を追加した後に認証する必要があります。 db_monitor.accesslog への挿入権限を user@'xx.xx.xx.%' に付与します。 承認しない場合、データベースへの接続は失敗します。 accesslog テーブルへの挿入権限を持たないユーザー: mysql> データベースを表示します。 エラー 2006 (HY000): MySQL サーバーが消えました 接続できません。再接続を試行しています... 接続ID: 7 現在のデータベース: *** なし *** エラー 1184 (08S01): db への接続 7 が中止されました: 'unconnected' ユーザー: 'user2' ホスト: 'localhost' (init_connect コマンドが失敗しました) 4. 監査機能の検証 ユーザーがテスト データベース内のテーブルを削除しました。binlog ログを使用してユーザーを追跡できるかどうか確認してみましょう。 バイナリログを表示: どのユーザーが操作を実行したかを確認できるため、監査が完了します。 MySQL で init-connect を使用してアクセス監査機能を強化する方法については、上記の記事が皆さんに共有できるすべてです。これが皆さんの参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: vue で h5 側のアプリを開きます (Android か Apple かを判断します)
最近、プロジェクトで作業しているときに webSocket プロトコルを使用し、WeChat アプレ...
CSS を導入する方法には、インライン スタイル、内部スタイル シート、外部スタイル シートの 3 ...
序文WeChat アプレット開発 (ネイティブ wxml、wxcss) で、{{ }} 内で直接メソ...
この記事では、vueの大画面表示適応の具体的なコードを参考までに紹介します。具体的な内容は以下のとお...
まず、簡単な Docker インストールを実行します。イメージをカスタマイズするには、ベースイメージ...
ここで nginx のリバース プロキシを試してみましょう。リバースプロキシ方式とは、インターネット...
この記事では、純粋な CSS3 を使用してモバイル端末での展開と折りたたみの効果を実装するサンプルコ...
結果 (完全なコードは下部にあります): 実装は難しくありませんが、繰り返しコードが多くなります。実...
この記事では、MySQL 8.0.12のインストールチュートリアルを参考までに紹介します。具体的な内...
目次複数テーブル結合クエリ内部結合左結合右結合サブクエリ要約する複数テーブル結合クエリテーブル間の接...
1. テスト環境名前バージョンセント7.6ドッカー18.09.06 2. オンラインインストールここ...
目次リアルタイム更新は必要ですか?マテリアライズド ビュー ツール (Flexviews)カウントテ...
>1 データベースを起動するcmd コマンド ウィンドウで、「sqlplus」を直接入力して ...
目次変換前:変換後: 0x0の基本0x1 「固定高さ」の仮想リストを実装する原理:最適化: 0x2 ...
1) 適用範囲:読み取り専用:input[type="text"],input[...