mysql init_connect 参数的其他用处

Posted zengkefu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>  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 : 

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

普通用户登录:     (root 用户无效)

[[email protected] 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)

注意: 对于所有的普通级别的用户,必须全部都要对日志表具有读写权限, 否则将导致,没有权限的用户无法使用数据库。

以上是关于mysql init_connect 参数的其他用处的主要内容,如果未能解决你的问题,请参考以下文章

利用init_connect参数记录用户登录信息

mysql字符集设置

mysql实现访问审计

Mysql 记录用户操作

mysql 设置默认编码为 utf8

mysql配置文件编码修改失败