mysql存储过程

本文介绍了一种在MySQL中记录用户密码变更的方法。通过定义存储过程,利用游标获取当前连接数据库的用户信息,并在用户密码发生变化时将其记录到特定表中。此方案有助于审计跟踪。

begin
declare ip,writedate,nowip,nowuser,nowinfo longtext;
declare _done  int DEFAULT 0;

#使用游标记录当前连接数据库的ip地址
declare _ipCursor CURSOR FOR
SELECT `USER`,`HOST`,INFO FROM information_schema.`PROCESSLIST`;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET _done = 1;
#打开游标
OPEN _ipCursor;

WHILE _done<>1 DO
#从游标中获取用户、ip、info信息
FETCH _ipCursor INTO nowuser,nowip,nowinfo;
if (NEW.User_Password<>OLD.User_Password) then
insert into T_USERT_PASSWORDCHANGE_RECORD (IP,DATE,PASSWORD_BEFORE,PASSWORD_AFTER,USER_NAME,USER_ID) values (nowip,now(),OLD.User_Password,NEW.User_Password,NEW.User_Name,NEW.User_ID);
end if;
END WHILE;
CLOSE _ipCursor;

end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值