admin管理员组文章数量:1594753
前言
最近在写mysql实验,在配置审计环境,搞了好几天各种bug,今天总算发现问题了,万万没想到竟是授权的问题,泪emo
是这样的,我在数据库建了表
create database auditdb;
use auditdb;
create table accesslog(
id int primary key auto_increment,
connectid int,
connectuser varchar(30),
logintime datetime
);
在my.ini这个配置文件中加了下面这段内容
init_connect='insert into auditdb.accesslog(connectid, connectuser, logintime) values(connection_id(), user(), now());'
然后发现我创建的好几个用户连接不上了,报错有两种
我去网上查各种解决办法都不行,最后发现竟然是授权的问题。
解决办法
给所有用户授予向 auditdb.accesslog插入数据的权限。
GRANT INSERT ON auditdb.accesslog TO 用户名;
这下就全连接上了
解释一下原因
init_connect表示服务器将为每个连接的客户端执行的字符串语句
也就是说你每次连接先执行init_connect后面接的这个语句,既然你用户都没有insert的权限,又怎么能连接成功呢?
结束
解决问题很开心,但是花了我好久的时间,呜呜呜
本文标签: 解决办法错误原因mysqlConnection
版权声明:本文标题:Lost connection to MySQL server during query很无语的错误原因以及解决办法 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1726226189a1061552.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论