您可以通过DAS的实例会话功能查看、导出和结束目标实例的会话,并且可以对目标实例进行10秒SQL分析、SQL限流和优化。本文以RDS MySQL为例介绍如何使用实例会话功能。
前提条件
- 目标数据库实例为RDS MySQL时,仅支持高可用版、三节点企业版。
说明 RDS MySQL基础版实例不支持实例会话功能,请忽略DAS控制台中的相关界面。DAS支持的数据库引擎与功能,详情请参见支持的数据库引擎与功能。
- 目标数据库实例已接入DAS,并且接入状态显示为连接正常。
操作步骤
常见问题
Q:为什么会出现%的访问来源?
A:该情况可能在您使用存储过程时出现。按如下示例可以复现这种情况:
说明 示例中数据库实例为RDS MySQL,测试账号为test_user,测试数据库为testdb。
- 在RDS控制台创建普通权限账号及其授权的数据库,详细操作请参见创建数据库和账号。
- 使用测试账号通过命令行方式连接数据库实例,详细操作请参见通过客户端、命令行连接RDS MySQL实例。
- 切换到测试数据库,并创建如下存储过程。
-- 切换到测试数据库 USE testdb; -- 创建存储过程 DELIMITER $$ DROP PROCEDURE IF EXISTS `das` $$ CREATE DEFINER=`test_user`@`%` PROCEDURE `das`() BEGIN SELECT * FROM information_schema.processlist WHERE Id = CONNECTION_ID(); END $$ DELIMITER;
- 使用高权限账号连接数据库实例,详细操作请参见通过客户端、命令行连接RDS MySQL实例。
- 调用存储过程。
-- 切换到测试数据库 USE testdb; -- 调用存储过程 CALL das(); +--------+-----------+--------+--------+---------+------+-----------+-------------------------------------------------------------------------+ | ID | USER | HOST | DB | COMMAND | TIME | STATE | INFO | +--------+-----------+--------+--------+---------+------+-----------+-------------------------------------------------------------------------+ | 487818 | test_user | %:2065 | testdb | Query | 0 | executing | SELECT * FROM information_schema.processlist WHERE Id = CONNECTION_ID() | +--------+-----------+--------+--------+---------+------+-----------+-------------------------------------------------------------------------+