Home Database Mysql Tutorial Detailed explanation of graphic code of mysql event event scheduler

Detailed explanation of graphic code of mysql event event scheduler

Mar 29, 2017 pm 01:17 PM
mysql

The following editor will bring you a commonplace storymysql event EventScheduler (must read). The editor thinks it is quite good, so I will share it with you now and give it a reference. Let’s follow the editor and take a look.

##Overview

MySQL also has its own event scheduler, which can simply be understood as the crontab job of

linux, but for SQL applications, its function is more Complete and easier to maintain. Personally, I feel that if too many are created, it may affect DB performance and make it difficult to debug#The main content of MySQL event scheduler##.

#Master switch

The parameter event_scheduler is the master switch of the event scheduler. Generally speaking, it is good to set it to ON or OFF. It is not recommended. Set to disabled, if set to ON, show processlistYou can see the thread

Create, modify, view, etc. Syntax

Detailed explanation of graphic code of mysql event event scheduler Regarding how to create and modify events, there is no description here. The creation syntax is as follows. For the specific meaning, please refer to the following introduction to the event information table. You can also refer to the official website document link, http://dev.mysql.com/doc/. refman/5.6/en/create-event.html

View the created event, after entering the current db, show create event xxx\G

Detailed explanation of graphic code of mysql event event scheduler

Detailed explanation of graphic code of mysql event event scheduler
Event information query and meaning


To view the status information of an event, you can Check mysql.event or information_schema.events, or simply switch to the current DB and execute show events; the contents of the three are basically the same. Information_schema cannot copy the data, and the following names and starts times have been changed for better reading. The information in information_schema.events is explained as an example

#EVENT_CATALOG: Detailed explanation of graphic code of mysql event event scheduler
is generally def, regardless of

EVENT_SCHEMA:The schema where the event is located

EVENT_NAME:The name of the event

DEFINER: The definer of event is consistent with the result of selectcurrent_user() by default when defining this event. If the user has

super

permissions, it can be specified as Other usersTIME_ZONE:The time zone used by event, the default is system, it is recommended not to modify it

EVENT_BODY:It’s usually SQL, don’t worry about it

EVENT_DEFINITION: The content of the event can be a specific SQL such as insert, or it can be a call

Operations of stored procedures

##EVENT_TYPE: This parameter is more important. It is specified when defining. There are two values: RECURRING and ONE TIME, RECURRING means that it will be executed repeatedly as long as the conditions are met, while ONE TIME will only call once

EXECUTE_AT: is valid for one-time type events, if it is RECURRING type The event is generally NULL

, indicating the estimated execution time of the event

INTERVAL_VALUE: is valid for RECURRING type events, indicating the execution interval length

INTERVAL_FIELD: Valid for RECURRING type events, indicating the unit of execution interval, usually SECOND, DAY and other values, please refer to the creation syntax

SQL_MODE:SQL_MODE used by the current event

STARTS:It is valid for RECURRING type events, indicating an event The point in time from which to start execution is similar to the one-time EXECUTE_AT function. If it is NULL, it means that execution will start as soon as the conditions are met

ENDS: Valid for RECURRING type events, indicating the point in time after which an event will no longer be executed. If it is NULL, it will never stop

STATUS:Generally there are three values, ENABLED, DISABLED and SLAVESIDE_DISABLED, where ENABLED means activating this event. The event will be executed as long as it meets other conditions; the event will not be executed if the DISABLED status is changed. SLAVESIDE_DISABLED means that the event will not be executed on the slave library. Special attention should be paid not to execute any form of event on the slave library, because if the main library executes it once, copies it to the slave library, and then executes it again from the slave library, the data will be inconsistent. Generally speaking, just disable the event on the slave library. Just turn on the main switch event_scheduler.

ON_COMPLETION: There are only two values, PRESERVE and NOT PRESERVE, PRESERVE

CREATED: The creation time of the event

LAST_ALTERED: The time when the event was last modified

LAST_EXECUTED: The last execution time of the event. If it is NULL, it means it has never been executed.

EVENT_COMMENT: Comment information of the event

ORIGINATOR: When the current event was created server-id, used for master-slave processing, such as SLAVESIDE_DISABLED

CHARACTER_SET_CLIENT: clientcharacter set when the event is created, that is, character_set_client

COLLATION_CONNECTION: when the event is created The connection character verification rules, that is, collation_connection

DATABASE_COLLATION: The database character set verification rules when the event is created

EVENT permission management

1 Set event_scheduler system variable, super_priv permission is required

2 Creating, modifying and deleting events requires the EVENT permission of the user, which is schema level

3 Corresponding to the specific content of the event, the corresponding permissions are required. For example, if there is an insert operation on a certain table in the event, then the user needs to perform an insert operation on the table, otherwise LAST_EXECUTED will always be in the state of NULL

EVENT Query

Use the following command to view event-related information statistics since the DB was started

mysql> showglobal status like '%event%';
+--------------------------+-------+
|Variable_name | Value |
+--------------------------+-------+
|Com_alter_event | 0 |
|Com_create_event | 2 |
|Com_drop_event | 2 |
|Com_show_binlog_events | 0 |
|Com_show_create_event | 191 |
|Com_show_events | 40 |
|Com_show_relaylog_events | 0 |
+--------------------------+-------+
7 rows in set(0.00 sec)
Copy after login

Usage suggestions

1 If the main library has been executed, the slave library must ensure that the event will not be executed (unless the event is intentionally created on the slave)

2 It is strictly prohibited to directly operate the mysql.event table for creation, deletion and other operations. , but implemented through formal syntax such as create, otherwise it will cause metadata confusion and various inexplicable problems will occur, such as events not being executed or being executed repeatedly. At this time, the problem can usually be solved only by restarting the DB.

3 If the created event involves massive data changes, sufficient testing must be done to ensure that it does not affect the existing network service

4 If you need to back up the DB with the event, you need to add it when mysqldump --event parameter

The above is the detailed content of Detailed explanation of graphic code of mysql event event scheduler. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

The relationship between mysql user and database The relationship between mysql user and database Apr 08, 2025 pm 07:15 PM

In MySQL database, the relationship between the user and the database is defined by permissions and tables. The user has a username and password to access the database. Permissions are granted through the GRANT command, while the table is created by the CREATE TABLE command. To establish a relationship between a user and a database, you need to create a database, create a user, and then grant permissions.

MySQL: The Ease of Data Management for Beginners MySQL: The Ease of Data Management for Beginners Apr 09, 2025 am 12:07 AM

MySQL is suitable for beginners because it is simple to install, powerful and easy to manage data. 1. Simple installation and configuration, suitable for a variety of operating systems. 2. Support basic operations such as creating databases and tables, inserting, querying, updating and deleting data. 3. Provide advanced functions such as JOIN operations and subqueries. 4. Performance can be improved through indexing, query optimization and table partitioning. 5. Support backup, recovery and security measures to ensure data security and consistency.

Can I retrieve the database password in Navicat? Can I retrieve the database password in Navicat? Apr 08, 2025 pm 09:51 PM

Navicat itself does not store the database password, and can only retrieve the encrypted password. Solution: 1. Check the password manager; 2. Check Navicat's "Remember Password" function; 3. Reset the database password; 4. Contact the database administrator.

Query optimization in MySQL is essential for improving database performance, especially when dealing with large data sets Query optimization in MySQL is essential for improving database performance, especially when dealing with large data sets Apr 08, 2025 pm 07:12 PM

1. Use the correct index to speed up data retrieval by reducing the amount of data scanned select*frommployeeswherelast_name='smith'; if you look up a column of a table multiple times, create an index for that column. If you or your app needs data from multiple columns according to the criteria, create a composite index 2. Avoid select * only those required columns, if you select all unwanted columns, this will only consume more server memory and cause the server to slow down at high load or frequency times For example, your table contains columns such as created_at and updated_at and timestamps, and then avoid selecting * because they do not require inefficient query se

How to create navicat premium How to create navicat premium Apr 09, 2025 am 07:09 AM

Create a database using Navicat Premium: Connect to the database server and enter the connection parameters. Right-click on the server and select Create Database. Enter the name of the new database and the specified character set and collation. Connect to the new database and create the table in the Object Browser. Right-click on the table and select Insert Data to insert the data.

How to copy tables in mysql How to copy tables in mysql Apr 08, 2025 pm 07:24 PM

Copying a table in MySQL requires creating new tables, inserting data, setting foreign keys, copying indexes, triggers, stored procedures, and functions. The specific steps include: creating a new table with the same structure. Insert data from the original table into a new table. Set the same foreign key constraint (if the original table has one). Create the same index. Create the same trigger (if the original table has one). Create the same stored procedure or function (if the original table is used).

How to view database password in Navicat for MariaDB? How to view database password in Navicat for MariaDB? Apr 08, 2025 pm 09:18 PM

Navicat for MariaDB cannot view the database password directly because the password is stored in encrypted form. To ensure the database security, there are three ways to reset your password: reset your password through Navicat and set a complex password. View the configuration file (not recommended, high risk). Use system command line tools (not recommended, you need to be proficient in command line tools).

How to view mysql How to view mysql Apr 08, 2025 pm 07:21 PM

View the MySQL database with the following command: Connect to the server: mysql -u Username -p Password Run SHOW DATABASES; Command to get all existing databases Select database: USE database name; View table: SHOW TABLES; View table structure: DESCRIBE table name; View data: SELECT * FROM table name;

See all articles