最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql利用init-connect增加訪問審計功能的實現(xiàn)

 更新時間:2017年03月31日 13:36:33   投稿:jingxian  
下面小編就為大家?guī)硪黄猰ysql利用init-connect增加訪問審計功能的實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

mysql的連接首先都是要通過init-connect初始化,然后連接到實例。

我們利用這一點,通過在init-connect的時候記錄下用戶的thread_id,用戶名和用戶地址實現(xiàn)db的訪問審計功能。

實現(xiàn)步驟

1、創(chuàng)建審計用的庫表。

為了不與業(yè)務(wù)的庫沖突,單獨創(chuàng)建自己的庫:

#建庫表代碼
create database db_monitor ;
use db_monitor ;
CREATE TABLE accesslog
( thread_id int(11) DEFAULT NULL,  #進程id
 log_time datetime default null,  #登錄時間
 localname varchar(50) DEFAULT NULL, #登錄名稱,帶詳細ip
 matchname varchar(50) DEFAULT NULL, #登錄用戶
 key idx_log_time(log_time)
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

2、配置init-connect參數(shù)

這個參數(shù)是可以動態(tài)調(diào)整的,也注意要加到配置文件my.cnf中,否則下次重啟后就失效了;

mysql> show variables like 'init_connect%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| init_connect |    |
+---------------+-------+
1 row in set (0.00 sec

mysql> set global init_connect='insert into db_monitor.accesslog(thread_id,log_time,localname,matchname) values(connection_id(),now(),user(),current_user());'; 

3、授予普通用戶對accesslog表的insert權(quán)限

該點很重要

該參數(shù)只對普通用戶生效,有super權(quán)限的都不會有作用。

如果是普通用戶,增加了該功能后,一定需要授權(quán):

grant insert on db_monitor.accesslog to user@'xx.xx.xx.%';

不授權(quán)的后果是,連接數(shù)據(jù)庫會失?。?/p>

accesslog表沒有insert權(quán)限的用戶:

mysql> show databases;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:  7
Current database: *** NONE ***

ERROR 1184 (08S01): Aborted connection 7 to db: 'unconnected' user: 'user2' host: 'localhost' (init_connect command failed) 

4、驗證審計功能

某個用戶對test庫刪除了一張表,看我們配合binlog日志是否能追蹤到時哪個用戶:


查看binlog:


可以看出來是哪個用戶進行了操作,從而完成審計。

以上這篇mysql利用init-connect增加訪問審計功能的實現(xiàn)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MySQL5創(chuàng)建存儲過程的示例

    MySQL5創(chuàng)建存儲過程的示例

    存儲過程可以一次執(zhí)行多個sql語句,所以php只連接數(shù)據(jù)庫一次就能查詢多個語句;不過要返回多個結(jié)果集就必須用mysqli擴展來查詢,否則會提示錯誤can't return a result set in the given context
    2008-09-09
  • mysql 8.0.13手動安裝教程

    mysql 8.0.13手動安裝教程

    這篇文章主要為大家詳細介紹了mysql 8.0.13手動安裝教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • Mysql5.7在Centos6中的安裝方法

    Mysql5.7在Centos6中的安裝方法

    這篇文章主要介紹了Mysql5.7在Centos6中的安裝方法,需要的朋友可以參考下
    2017-06-06
  • MySQL千萬級數(shù)據(jù)表的優(yōu)化實戰(zhàn)記錄

    MySQL千萬級數(shù)據(jù)表的優(yōu)化實戰(zhàn)記錄

    千萬級大表如何優(yōu)化,這是一個很有技術(shù)含量的問題,通常我們的直覺思維都會跳轉(zhuǎn)到拆分或者數(shù)據(jù)分區(qū),這篇文章主要給大家介紹了關(guān)于MySQL千萬級數(shù)據(jù)表優(yōu)化的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • Mysql基礎(chǔ)教程之增刪改查語句

    Mysql基礎(chǔ)教程之增刪改查語句

    這篇文章主要給大家介紹了關(guān)于Mysql基礎(chǔ)教程之增刪改查語句的相關(guān)資料,以下是MySQL最基本的增刪改查語句,很多IT工作者都必須要會的命令,也是IT行業(yè)面試最??嫉闹R點,需要的朋友可以參考下
    2023-10-10
  • 記一次MySQL Slave庫恢復(fù)實戰(zhàn)記錄

    記一次MySQL Slave庫恢復(fù)實戰(zhàn)記錄

    這篇文章主要介紹了記一次MySQL Slave庫恢復(fù)實戰(zhàn)記錄,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 淺談MySQL InnoDB實現(xiàn)MVCC原理

    淺談MySQL InnoDB實現(xiàn)MVCC原理

    本文主要介紹了MySQL InnoDB實現(xiàn)MVCC原理,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2026-03-03
  • Mysql如何在linux中實現(xiàn)定時備份

    Mysql如何在linux中實現(xiàn)定時備份

    這篇文章主要介紹了Mysql如何在linux中實現(xiàn)定時備份,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • 修改MYSQL密碼的幾種常用方法總結(jié)

    修改MYSQL密碼的幾種常用方法總結(jié)

    以下是對修改MYSQL密碼的幾種常用方法進行了總結(jié)介紹,需要的朋友可以過來參考下
    2013-08-08
  • Mysql數(shù)據(jù)庫的增刪改查、備份、還原等基本操作大全

    Mysql數(shù)據(jù)庫的增刪改查、備份、還原等基本操作大全

    這篇文章主要介紹了Mysql數(shù)據(jù)庫的增刪改查、備份、還原等基本操作,本文通過示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06

最新評論

河北区| 哈巴河县| 祁连县| 合水县| 阳山县| 花莲县| 镇平县| 永川市| 弋阳县| 志丹县| 安阳县| 衡南县| 株洲县| 汉源县| 仁怀市| 盈江县| 阿鲁科尔沁旗| 阜城县| 建阳市| 宜章县| 西平县| 全州县| 安多县| 略阳县| 富民县| 连城县| 吴桥县| 卢湾区| 文安县| 闽清县| 余江县| 固安县| 浦北县| 永和县| 库尔勒市| 玉门市| 岑巩县| 古丈县| 永济市| 巴楚县| 桦南县|