【MySQL】玩转定时器】的更多相关文章

home198979 实战mysql存储程序与定时器 博客分类: mysql 存储过程定时器eventprocedure实战  需求:一个庞大的日志表,现每天做定时统计一天的总数,放另一个表中,方便查看,运营. 旧方案:用脚本写好程序,用linux的crontab定时执行. 本文重点,用mysql定时器定时执行存储程序. 第一步:编写存储程序(需了解基本的存储程序的语法) create procedure inproc() begin declare done int default 0; de…
1.前置条件,你需要将服务器和mysql的时间都设置成东八区,php.ini和my.cnf配置(参考上篇文章) 2.进入mysql客户端,推荐Navicat for mysql 3.首先查看是否开启了定时器的功能: ####调试MYSQL定时器 --时间设置正确情况下执行下面没影响 xzz1128 ##### set time_zone = '+8:00'; SHOW VARIABLES LIKE 'event_scheduler';##查看是否开启了event定时器功能 set GLOBAL…
一,借鉴[luo奔的蜗牛] 1.创建一张表 create table mytable ( id int auto_increment not null, name ) not null default '', introduce text not null, createtime timestamp not null, constraint pk_mytable primary key(id) ) 2.创建存储过程 --创建存储过程,这里的存储过程主要提供给mysql的定时器event来调用去执…
如何字段名查找所在的表名 SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = '字段名字' select syscolumns.name,sysobjects.name from syscolumns , sysobjects where syscolumns.id = sysobjects.id and syscolumns.name='已知字段名 select * from user where user…
今天在mac上瞎折腾时,把mysql玩坏了,想卸载重装,却发现找不到卸载程序,百度了下,将操作步骤备份于此: cd ~/ sudo rm /usr/local/mysqlsudo rm -rf /usr/local/var/mysql sudo rm -rf /usr/local/mysql* sudo rm -rf /Library/StartupItems/MySQLCOM sudo rm -rf /Library/PreferencePanes/My* vim /etc/hostconfi…
最近一直在想一个问题 MySQL数据量日益庞大,目前单表总记录数有 300W+,导致sql语句执行的速度变慢,如果一直这样增长下去,总有一天会爆炸的.怎么办??怎么办?? 第一:想到的必然是 添加索引,可是索引偏偏是把双刃剑,提升了查询的速度,却活生生的影响了插入的效率   所以索引的话,也只是能做到在一定数据量下,达到查询与插入的最优化,但是遇到持续增长的数据量,也是力不从心. 第二:想到的是 主从复制,想想好像很难弄的样子,会不会出问题?我这么懒,才不想去搞这个.. 第三(YY):首先,我们…
一.背景 由于项目的业务是不断往前跑的,所以难免数据库的表的量会越来越庞大,不断的挤占硬盘空间.即使再大的空间也支撑不起业务的增长,所以定期删除不必要的数据是很有必要的.在我们项目中由于不清理数据,一个表占的空间竟然达到了4G之多.想想有多可怕... 这里介绍的是用MySQL 建立一个定时器Event,定期清除掉之前的不必要事件. 二.内容 #.建立存储过程供事件调用 delimiter// drop procedure if exists middle_proce// create proce…
mysql的事件定时器的使用: SHOW VARIABLES LIKE 'event_scheduler' --查询event_scheduler开启状态 SET GLOBAL event_scheduler=0;--设置定时器开启 0:关 1:开 /*创建存储过程*/ CREATE PROCEDURE test(in time int) BEGIN DELETE FROM test WHERE create_time<SUBDATE(NOW(),INTERVAL 2 DAY); END --…
mysqld_safe --skip-grant-tables & UPDATE mysql.user SET authentication_string=PASSWORD('mima') WHERE User='root';  //5.7后没有 password 字段 update mysql.user set password=password("mima") where user='root'; update user set password=password(&quo…
本人因为失误操作,不小心将mysql 玩崩了.导致一直报1130错误,无法进入. 看了很多网上的帖子,但是那些办法都行不通.最后通过好友的指点,解决了这个问题.   1.停止MySQL服务,执行net stop mysql; 2.在mysql的安装路径下找到配置文件my.ini, 找到[mysqld]   输入:skip-grant-tables,保存 3.重启mysql服务,net start mysql: 4.执行mysql -uroot -p,回车,再回车,即可进入mysql数据库: 之后…