MySQL:轻松自动生成数据(mysql自动生成数据)
库备份
MySQL是全球最流行、最受欢迎的关系型数据库管理系统之一。虽然MySQL的操作有时候不太复杂,但是为了避免系统损坏、数据丢失,每个MySQL数据库系统都应该定期以正确的形式备份以免出现问题,所以自动生成数据库备份是一个很重要的步骤。但是在MySQL中自动备份需要手动复杂的操作,特别是当数据量较大时,会让备份变得十分困难。
幸运的是,MySQL为客户端提供了一种可以轻松自动生成数据库备份的方法,就是使用MySQL的Event机制。MySQL Event表示一组用户定义的SQL语句,该语句随着服务器的系统时间和日期在一定的频率下运行。MySQL中提供了一个语法叫 CREATE EVENT,它用来创建一个新的事件,可以指定时间、任务执行语句等:
CREATE
EVENT event_name
ON SCHEDULE schedule
[ON COMPLETION [NOT] PRESERVE]
[ENABLE | DISABLE]
[COMMENT ‘comment’]
DO BEGIN
— event body
END;
上面这段SQL语句,就可以用来创建一个可以在指定时间(下面的schedule参数)自动执行的事件。schedule参数可以是AT模式,也可以是EVERY模式,比如:
— 每天凌晨2点 运行
EVERY 1 DAY STARTS ‘2018-04-09 02:00:00’
— 每隔5小时运行一次
EVERY 5 HOUR STARTS CURRENT_TIMESTAMP
所以,我们可以创建一个事件用来在每天凌晨2点自动运行备份数据库的语句:
CREATE EVENT backup_db
ON SCHEDULE EVERY 1 DAY STARTS ‘2018-04-09 02:00:00’
DO
BEGIN
— 备份数据库语句
mysqldump -u root -p [–all-databases] > backup.sql
END;
在上面的语句中,备份数据库的语句可以根据实际要求来改变,可以使用–all-databases参数来备份所有数据库。
总之,使用MySQL的Event机制,可以轻松的实现自动备份MySQL数据库。用户只需设置好时间、任务执行语句,然后MySQL就会根据时间自动执行相应的任务,让数据库备份更方便简单,从而解决了大量MySQL用户在备份数据库上的不便。