标签: mysql-event

自 12 天前服务器重新启动以来,MySQL 事件调度程序一直在等待空队列

我注意到服务器上有一个进程已经运行了超过12天,我认为这与上次重新启动MySQL的时间一致。

mysql> SHOW FULL PROCESSLIST;

+---------+-----------------+-----------+------+---------+---------+------------------------+-----------------------+
| Id      | User            | Host      | db   | Command | Time    | State                  | Info                  |
+---------+-----------------+-----------+------+---------+---------+------------------------+-----------------------+
|       5 | event_scheduler | localhost | NULL | Daemon  | 1098372 | Waiting on empty queue | NULL                  |
| 1774483 | root            | localhost | NULL | Query   |       0 | starting               | SHOW FULL PROCESSLIST |
+---------+-----------------+-----------+------+---------+---------+------------------------+-----------------------+
2 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

没有事件,我也没有尝试创建任何事件。

mysql> SELECT * FROM information_schema.EVENTS;

Empty set (0.00 sec) …
Run Code Online (Sandbox Code Playgroud)

mysql performance mysql-event mysql-8.0

9
推荐指数
1
解决办法
2万
查看次数

查看 MySQL 事件正文

有没有办法查看 MySQL 事件的主体?DO节后的 SQL 部分?我可以轻松地重命名、启用、禁用,甚至分别更改日程和正文,但要准确查看我的活动正在做什么,似乎很难实现。

我发现用的是重新创建命令最接近的事SHOW CREATE EVENT event_name,像解释这里的官方MySQL站点。

是否有另一个命令或技巧来检索 MySQL 事件的主体?

mysql mysql-event

5
推荐指数
1
解决办法
6178
查看次数

使用事件计划和存储过程自动平均每小时 MySQL

我在 Mysql Workbench 中有一个每秒更新的天气数据库。它包含温度和风速。这是我的数据库:

CREATE TABLE `test`.`new_table` (
`id` INT(10) NOT NULL,
`date` DATETIME NOT NULL,
`temperature` VARCHAR(25) NOT NULL,
`wind_speed` VARCHAR(25) NOT NULL,
`humidity` VARCHAR(25) NOT NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_bin;
Run Code Online (Sandbox Code Playgroud)

我想找到每小时的平均温度并将结果插入到一个新表中,如下所示

CREATE TABLE `test`.`table1` (
`idsea_state` INT(10) NOT NULL,
`dateavg` DATETIME NOT NULL,
`avg_temperature` VARCHAR(25) NOT NULL,
PRIMARY KEY (`idsea_state`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_bin;
Run Code Online (Sandbox Code Playgroud)

这是我的编码,用于查找平均值并将结果插入新表中

INSERT INTO `table1`
(`dateavg`, `avg_temperature`) 
SELECT …
Run Code Online (Sandbox Code Playgroud)

mysql stored-procedures mysql-event

2
推荐指数
1
解决办法
2万
查看次数