mysql init_connect 參數的其餘用處

http://blog.itpub.net/133735/viewspace-691196/
 


init_connect 是能夠動態在線調整的,這樣就有了一些其餘的用處

通過測試init_connect 是用戶登陸到數據庫上以後,在執行第一次查詢以前執行 裏面的內容的。 
 
若是init_connect  的內容有語法錯誤,致使執行失敗,會致使用戶沒法執行查詢,從mysql 退出。 

init_connect 對具備super  權限的用戶是無效的
 
 
1.設定字符集:
init_connect='set autocommit=0; set names gbk;' 

2.init_connect 來登記用戶的信息:mysql

 建立測試表:
mysql>  create  table t1 ( cur_user varchar(100), n_user varchar(100),in_time timestamp  default current_timestamp());
Query OK, 0 rows affected (2.36 sec)

設定 init_connect : sql

 set global init_connect='insert into test.t1 (cur_user,n_user) values (current_user(),user())'; 

普通用戶登陸:     (root 用戶無效)數據庫

[root@localhost uu]# mysql -umysql -p

mysql> use test;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select * from t1;
+------------+-----------------+---------------------+
| cur_user   | n_user          | in_time             |
+------------+-----------------+---------------------+
| @localhost | mysql@localhost | 2016-07-05 00:25:02 |
+------------+-----------------+---------------------+
1 row in set (0.07 sec)

注意: 對於全部的普通級別的用戶,必須所有都要對日誌表具備讀寫權限, 不然將致使,沒有權限的用戶沒法使用數據庫。測試

相關文章
相關標籤/搜索