栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Lost connection to MySQL server during query很无语的错误原因以及解决办法

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Lost connection to MySQL server during query很无语的错误原因以及解决办法

前言

最近在写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的权限,又怎么能连接成功呢?

结束 解决问题很开心,但是花了我好久的时间,呜呜呜
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/845147.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号