你好,游客 登录 注册 搜索
背景:
阅读新闻

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

[日期:2017-06-26] 来源:Linux社区  作者:chenjianxiang [字体: ]

1.Linux下给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@linuxidc 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@linuxidc ~]# yum -y install vixie-cron
[root@linuxidc ~]# yum -y install crontabs


4.设置开机启动

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


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

[root@linuxidc etc]# vim crontab

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@linuxidc etc]# service crond start
Starting crond: [  OK  ]

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-06/145190.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款