init-connect mysql_MySQL利用init-connect增加访问审计功能异常
init-connet设置
注:该参数对超级用户不生效
-- 创建测试库
mysql> create database test;
Query OK, 1 row affected (0.00 sec)
mysql> use test;
Database changed
-- 创建审计记录表
mysql> CREATE TABLE `conn_log` (
-> `conn_id` int(11) DEFAULT NULL,
-> `conn_time` datetime DEFAULT NULL,
-> `user_name` varchar(128) CHARACTER SET utf8 DEFAULT NULL,
-> `cur_user_name` varchar(128) CHARACTER SET utf8 DEFAULT NULL,
-> `ip` varchar(15) CHARACTER SET utf8 DEFAULT NULL,
-> KEY `conn_time` (`conn_time`)
-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ;
Query OK, 0 rows affected (0.01 sec)
-- 设置审计内容
mysql> set global init_connect="set @user=user(),@cur_user=current_user();insert into test.conn_log values(connection_id(),now(),@user,@cur_user,'10.0.0.1');"
-> ;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like '%init%';
+------------------------+-------------------------------------------------------------------------------------------------------------------------------+
| Variable_name | Value |
+------------------------+-------------------------------------------------------------------------------------------------------------------------------+
| init_connect | set @user=user(),@cur_user=current_user();insert into test.conn_log values(connection_id(),now(),@user,@cur_user,'10.0.0.1'); |
| init_file | |
| init_slave | |
| table_definition_cache | 1400 |
+------------------------+-------------------------------------------------------------------------------------------------------------------------------+
4 rows in set (0.00 sec)
-- 创建普通用户
mysql> grant select,insert on dba_test.* to 'test'@'%' identified by 'test';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
异常
[root@test ~]# mysql -S /data0/mysql57/mysql3307/mysqltmp/mysql3307.sock -utest -ptest
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 117
Server version: 5.7.21-log
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show user();
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 118
Current database: *** NONE ***
ERROR 1184 (08S01): Aborted connection 118 to db: 'unconnected' user: 'test' host: 'localhost' (init_connect command failed)
mysql> select user();
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 119
Current database: *** NONE ***
异常处理
分析
通过查看erro log发现test用户没有test.conn_log表的写权限,导致init-connect中的sql内容无法进行,
从而导致连接失败
解决
-- 赋权
mysql> grant insert on test.* to 'test'@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
-- 登陆正常
[root@test ~]# mysql -hip地址 -P3307 -utest -ptest
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 140
Server version: 5.7.21-log MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> use dba_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> show tables;
+--------------------+
| Tables_in_dba_test |
+--------------------+
| user |
+--------------------+
1 row in set (0.00 sec)
mysql> insert into user(user_id,username) values(4,'d');
Query OK, 1 row affected (0.00 sec)
mysql>
init-connect mysql_MySQL利用init-connect增加访问审计功能异常相关推荐
- mysql利用init-connect增加访问审计功能的实现
mysql的连接首先都是要通过init-connect初始化,然后连接到实例. 我们利用这一点,通过在init-connect的时候记录下用户的thread_id,用户名和用户地址实现db的访问审计功 ...
- 微信朋友圈是访问腾讯服务器吗,微信朋友圈疑似增加“来访”新功能?网友:再也不看朋友圈了!...
原标题:微信朋友圈疑似增加"来访"新功能?网友:再也不看朋友圈了! 微信朋友圈疑似增加"来访"新功能?网友:再也不看朋友圈了! 作为当今中国最大的社交软件,微信 ...
- 17101701_CentOS7下利用init.d启动脚本实现tomcat开机自启动
在之前的博文中已经对CentOS7下通过tomcat进行WEB系统的发布进行了介绍,今天将利用init.d启动脚本,将服务脚本加入到开机启动服务队列,实现tomcat服务的开机启动. 1. 环境准备 ...
- http协议 git服务器,利用Nginx搭建HTTP访问的Git服务器
利用Nginx搭建HTTP访问的Git服务器过程记录.搭建 Git 仓库,实现 SSH 协议.配合 Nginx 实现 HTTP 协议拉取.推送代码.利用 Nginx 实现 Gitweb 在线浏览代码, ...
- Android系统init进程启动及init.rc全解析
这是一篇用心写的博客,也希望大家用心看并帮忙找到文章的改进之处,谢谢: 服务启动机制 system/core/init/init.c文件main函数中parse_config_file(init.rc ...
- Windows防火墙增加访问端口
如果你用Windows做服务器,假如你的服务使用了81端口,默认从外面是不能访问的,需要做防火墙的设置. 打开"控制面板"-检查防火墙状态 点击左侧-高级设置 点击左侧-入站规则- ...
- android init(system/core/init/init.c)分析
转自:http://blog.csdn.net/wuyun2009/article/details/5656241 在Android系统启动时,内核引导参数上一般都会设置"init=/ini ...
- swift5自定义构造函数和自定义变量报required init?(coder: NSCoder) { fatalError(“init(coder:) has not bee错问题
swift5自定义构造函数和自定义变量报required init 全局类下 UIViewController,通过构造方法传递属性值.还有一种方法,通过属性监听去给给viewController 传 ...
- Ubuntu10.04No init found. Try passing init= bootarg解决方案
在正常状态下误敲 fsck 命令后,果断悲剧. 屏幕错误提示 错误显示类似于: mount: mounting /dev/disk/by-uuid/************************** ...
最新文章
- mqtt 负载均衡_EMQ百万级MQTT消息服务(分布式集群)
- php获取当月开始和结束的时间戳,PHP获取今天开始和结束的时间戳
- 解决set /p yn= 接受键盘输入导致ECHO 处于关闭状态的问题
- MYSQL学习01--MySQL基础知识
- 小汤学编程之JavaEE学习day04——EL表达式、JSTL
- 瑞幸咖啡:陆正耀继续担任董事和董事长
- 实验三:分别用for、while和do-while循环语句以及递归方法计算n!,并输出算式...
- 教你怎么短期内备考并通过PMP考试!
- MATLAB(五) 图像处理--图像分割
- html5的文件操作系统,目录 - 基本操作 - DirectoryEntry《 HTML5:文件系统 》
- 西门子g120变频器接线图_西门子S7—1500第二十二讲(G120变频器第二篇)
- 认知神经科学常用的研究工具和技术
- C#获取单个字符的拼音声母
- 一个自动化专业的工控人自学编程之路
- win7计算机共享设置密码,如何为Win7旗舰系统的共享文件夹设置密码
- html5体感游戏开发,使用HTML5开发Kinect体感游戏
- Hackthebox:Devel Walkthrough
- leetcode 39. Combination Sume (medium)
- 短诗整理1——奋进+惜时
- 百度智能音箱入局正当时,如何平台+硬件两不误?
热门文章
- R语言glm拟合logistic回归模型:模型评估(计算模型拟合的统计显著性)、模型评估(赤信息AIC指标计算)
- python使用pandas通过聚合获取时序数据的最后一个指标数据(例如长度指标、时间指标)生成标签并与原表连接(join)进行不同标签特征的可视化分析
- R安装包源设置的常见方式及国内常用源
- 样条+样条函数+样条分析+spline+样条插值+样条回归
- 随机投影(Random Projection)降维方法
- 局部变量 final Java_Java局部变量final
- 统计学原理----描述性统计
- Comparative assessment of long-read error-correction software applied to RNA-sequencing data
- MySQL安装查看密码修改密码
- 论文笔记 DNorm: disease name normalization with pairwise learning to rank