mysql 存储过程及事件

£可爱£侵袭症+ 提交于 2020-02-21 10:24:59

虽说现在不用这种,mysql本身已经很忙碌了,还要做这些操作不合适,但有时候别人的代码会写这些,所以记录下查找的、

查询数据库中的存储过程和函数

       select `name` from mysql.proc where db = 'xx' and `type` = 'PROCEDURE'   //存储过程
       select `name` from mysql.proc where db = 'xx' and `type` = 'FUNCTION'   //函数

       show procedure status; //存储过程
       show function status;     //函数

查看存储过程或函数的创建代码

  show create procedure proc_name;
  show create function func_name;

查看视图
  SELECT * from information_schema.VIEWS   //视图
  SELECT * from information_schema.TABLES   //表

查看触发器
  SHOW TRIGGERS [FROM db_name] [LIKE expr]
  SELECT * FROM triggers T WHERE trigger_name=”mytrigger” \G

 

如果有存储过程,在代码里边找不到调用存储过程的函数。。通常是执行了事件

---show events;查看对应的事件,,下边有解释什么时候执行,执行几次

--如果没有执行则看下事件是否开启

show variables like '%event_scheduler%'; ---查看事件是否开启

如果没有可以在本次开启,

set global event_scheduler = on;

开启了之后我们可以在mysql连接里边看到一个连接

show processlist;   

| 278 | event_scheduler | localhost            | NULL      | ***  |   16 | Waiting for*** activation | NULL

也可以在my.ini 里边配置--

[mysqld]
event_scheduler=ON关闭或开启事件alter event event_name on completion preserve [enable | disable]删除事件的话drop event event_name;如果是别人的mysql代码的话,我们可以在~/.mysql.history   里边搜索到创建event 和存储过程的语句查看是否执行的话,我们可以打开下边的日志临时查看查看完之后记得关闭!

show variables like '%gen%';

+------------------+----------------------------------------------+

| Variable_name    | Value                                        |

+------------------+----------------------------------------------+

| general_log      | OFF                                          |

| general_log_file | /****/****/mysql/i0b8gnz.log |

+------------------+----------------------------------------------+


 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!