天天看點

mysql記錄用戶端IP

   今天公司内測試資料庫被人更改,老闆要查出這個人,糾結了好一會,mysql預設頁不記錄IP位址,是以找不到,在網上找了點資料,也有人跟我有一樣的困惑,他們的解決辦法是init_connect,下面我來寫一下這次事故的解決辦法。

建立測試表:

mysql.sock@test> create  table t1 ( cur_user varchar(100), n_user varchar(100),in_time timestamp  default current_timestamp()) ;

Query OK, 0 rows affected (0.09 sec)

設定 init_connect :

mysql.sock@(none)>  set global init_connect='insert into test.t1 (cur_user,n_user) values (current_user(),user())';                

Query OK, 0 rows affected (0.00 sec)

這樣就記錄下所有執行sql語句的機器的IP,配合binlog就可以查找出是哪台機器執行的sql造成的資料丢失,把自己的責任就可以推到别人身上啦,嘻嘻。有super權限的使用者是不記錄的,是以不要把root密碼告訴别人,避免不必要的麻煩。