MySQL 客户端遇到的一个连接后就断开的问题

0
(0)

今天遇到一个MySql client 无法连接的问题,错误是说在init-connect执行失败,找了好长时间,一开始以为是权限问题。后来在网上查询资料,原因是因为设置了  connect-init 的环境变量,作用是用来给SQL审计表(也就是自己指定的一张表)里面保存一条用户的登录记录,这个步骤出了问题。

每次使用帐号登录到mysql客户端,使用任何一条mysq指令,就会立即断开连接,使用root用户登录后,使用下面的命令来查看是否有设置审计功能,后面一条sql是用来设置变量。

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());';

查看后,我发现是因为insert语句给定的数据库名称不存在,重新修改为正确的数据库名称并给用户设置对应的insert权限后,链接就正常了。

这篇文章有用吗?

平均评分 0 / 5. 投票数: 0

到目前为止还没有投票!成为第一位评论此文章。

很抱歉,这篇文章对您没有用!

让我们改善这篇文章!

告诉我们我们如何改善这篇文章?

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据