mysql init_connect 引數的其他用處
mysql 預設是autocommit=1 的,
我們線上都設定一般是init_connect='set autocommit=0; set names gbk;' 這樣的。
init_connect 是可以動態線上調整的,這樣就有了一些其他的用處。
經過測試init_connect 是使用者登入到資料庫上之後,在執行第一次查詢之前執行 裡面的內容的。
如果init_connect 的內容有語法錯誤,導致執行失敗,會導致使用者無法執行查詢,從mysql 退出。
init_connect 對具有super 許可權的使用者是無效的。
我們可以用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)
普通使用者登入:
[root@test740_9 ~]# mysql -u lsl -plsl test
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1101066
Server version: 5.1.41-log MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
查詢使用者資訊:
mysql.sock@test> select * from t1;
+----------+---------------+---------------------+
| cur_user | n_user | in_time |
+----------+---------------+---------------------+
| lsl@% | lsl@localhost | 2011-03-29 10:50:58 |
+----------+---------------+---------------------+
1 row in set (0.00 sec)
記錄了使用者的客戶端資訊,當然還可以記錄更多的資訊,例如database() 記錄當前資料庫等等。
本次測試是直接將記錄日誌表,建在測試使用者下,
注意: 對於所有的普通級別的使用者,必須全部都要對日誌表具有讀寫許可權, 否則將導致,沒有許可權的使用者無法使用資料庫。
我們線上都設定一般是init_connect='set autocommit=0; set names gbk;' 這樣的。
init_connect 是可以動態線上調整的,這樣就有了一些其他的用處。
經過測試init_connect 是使用者登入到資料庫上之後,在執行第一次查詢之前執行 裡面的內容的。
如果init_connect 的內容有語法錯誤,導致執行失敗,會導致使用者無法執行查詢,從mysql 退出。
init_connect 對具有super 許可權的使用者是無效的。
我們可以用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)
普通使用者登入:
[root@test740_9 ~]# mysql -u lsl -plsl test
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1101066
Server version: 5.1.41-log MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
查詢使用者資訊:
mysql.sock@test> select * from t1;
+----------+---------------+---------------------+
| cur_user | n_user | in_time |
+----------+---------------+---------------------+
| lsl@% | lsl@localhost | 2011-03-29 10:50:58 |
+----------+---------------+---------------------+
1 row in set (0.00 sec)
記錄了使用者的客戶端資訊,當然還可以記錄更多的資訊,例如database() 記錄當前資料庫等等。
本次測試是直接將記錄日誌表,建在測試使用者下,
注意: 對於所有的普通級別的使用者,必須全部都要對日誌表具有讀寫許可權, 否則將導致,沒有許可權的使用者無法使用資料庫。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/133735/viewspace-691196/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Mysql 引數MySql
- 【勝通 】mysql的引數變數MySql變數
- JavaScript 中的引數處理JavaScript
- MyBatis 引數處理MyBatis
- Mysql重要配置引數的整理MySql
- MySQL引數調整MySql
- mysql 常用引數整理MySql
- MySQL引數說明MySql
- mysql 引數調優MySql
- mysql儲存過程的引數MySql儲存過程
- MySQL運維之神奇的引數MySql運維
- 【MySQL】檢視MySQL Server引數方法MySqlServer
- dialog如何向其href指定的頁面傳遞引數?
- Shell 引數的讀取和處理
- MySQL效能相關引數MySql
- MySQL資料庫引數MySql資料庫
- 深入理解mysql引數MySql
- mysql configure 引數MySql
- MySQL引數配置優化MySql優化
- mysql 5.0.41 mysqld 引數大全MySql
- MySQL常見的配置引數概覽MySql
- mysql一些引數的介紹MySql
- MySQL引數化查詢的IN 和 LIKEMySql
- MySQL 5.7 複製的過濾引數MySql
- 【MySQL】MySQL 5.6 引數之 extra_portMySql
- 12.MyBatis學習--對映檔案_引數處理_單個引數&多個引數&命名引數MyBatis
- 訊號處理基本引數
- Mybatis引數處理總結MyBatis
- MySQL的配置檔案的引數設定MySql
- mysql的日誌引數修改的問題.MySql
- MySQL登陸命令列引數MySql命令列
- MySQL 連線相關引數MySql
- Mysql配置引數詳解(一)MySql
- MySQl引數管理( 部分翻譯)MySql
- mysql relay log引數彙總MySql
- mysql Sql引數用?而不用@MySql
- 【MYSQL】MHA引數列表說明MySql
- 【Mysql】character-set-server引數MySqlServer