
# 创建事件定时器后未生效
#### 场景描述
创建事件定时器后未生效。
#### 原因分析
1. 在实例"概览"页面，检查事件定时器开关是否打开。
   图1概览   
   ![](https://support.huaweicloud.com/trouble-rds-mysql/zh-cn_image_0000002709069086.png "点击放大") 
2. 检查事件定时器的状态是否是**ENABLED** 。
   ```
   show events;
   ```
   ![](https://support.huaweicloud.com/trouble-rds-mysql/zh-cn_image_0000002212223020.png "点击放大")
   如果创建事件定时器定义使用了**DISABLE ON SLAVE** 语法，该事件定时器的状态将被设为**SLAVESIDE_DISABLED** ，在这种状态下，主库事件定时器不会生效。为了确保处于**SLAVESIDE_DISABLED**状态的事件定时器能够生效，可以采用以下两种解决方案：
   - （推荐）重新创建事件定时器，在创建事件定时器时不使用**DISABLE ON SLAVE** 语法。启用定时器后，RDS for MySQL的主库默认将"event_scheduler"参数设置为"on"，而备库则设置为"off"。这样可以确保事件定时器仅在主库上执行，并在备库上自动禁用，无需在创建事件定时器时使用**DISABLE ON SLAVE**语法。
   
   - 如果必须使用**DISABLE ON SLAVE** 语法，可以在主节点上执行以下示例命令，以显式启用该事件定时器。
     ```
     ALTER EVENT event_name ENABLE;
     ```
     
    
3. 检查数据库设置的时间是北京时间还是UTC时间。
   ```
   show variables like "%time_zone%";
   ```
   ![](https://support.huaweicloud.com/trouble-rds-mysql/zh-cn_image_0000002212223024.png "点击放大")
   ![](https://support.huaweicloud.com/trouble-rds-mysql/zh-cn_image_0000002247223133.png)
   以上图为例，实例的时区为UTC，因此以北京时间设置事件定时器不会立即生效，等待时间到达对应UTC时间才会生效。
   
 
#### 解决方案
为确保事件定时器正常运行，请确认其状态已设为**ENABLED**，且对应的时区设置正确。
