MySQLLinux下实现MySQL数据库自动备份

1.让mysql创建用户备份的角色,并且给予角色SELECT, RELOAD, SHOW DATABASES,
LOCK TABLES等权力。

mysql> create user 'backuper'@'localhost' identified by '********';
Query OK, 0 rows affected (0.00 sec)

mysql> grant SELECT, RELOAD, SHOW DATABASES, LOCK TABLES on *.* to backuper@localhost;
Query OK, 0 rows affected (0.00 sec)

2.以网遭到找到存储空间比较大的硬盘创建备份目录,并且创造shell脚本

[root@qxyw backup]# vim backup_qianyu_veeker_db.sh

#!/bin/bash
mysqldump -ubackuper -p******** qianyu_veeker_db > /home/mysql/backup/qianyu_veeker_db_$(date +%Y%m%d_%H%M%S).sql

只顾:-u和用户称中级是尚未空格的,-p和密码为是如此的。

3.添加计划任务,需要安装crontab
vixie-cron 软件包是 cron 的主程序;
crontabs 软件包是为此来装、卸装、或列举用来教 cron
守护进程的报表的次序。

[root@qxyw ~]# yum -y install vixie-cron
[root@qxyw ~]# yum -y install crontabs

4.装置开机启动

[root@qxyw ~]# chkconfig --level 345 crond on

5.窜/etc/crontab文件,添加需要周期执行的任务

[root@qxyw etc]# crontab -e

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
0 0 * * * /home/mysql/backup/backup_qianyu_veeker_db.sh

6.启动crontab服务

[root@qxyw etc]# service crond start
Starting crond: [  OK  ]

 

网站地图xml地图