码迷,mamicode.com
首页 > 数据库 > 详细

mysql数据库每日一备

时间:2017-05-11 17:03:47      阅读:414      评论:0      收藏:0      [点我收藏+]

标签:编辑   root   tables   支持   dir   uil   date   lock   执行命令   

1,数据库目录

/var/lib/mysql

测试库

/var/lib/mysql/ambari

2,创建备份目录

cd /home

mkdir mysqlbackup

cd mysqlbackup

3, 查看系统支持的存储引擎

show engines;

查看表使用的存储引擎

两种方法:

a、show table status from db_name where name=‘table_name‘;

b、show create table table_name;

如果显示的格式不好看,可以用\g代替行尾分号

有人说用第二种方法不准确,我试了下,关闭掉原先默认的Innodb引擎后根本无法执行show create table table_name指令,因为之前建的是Innodb表,关掉后默认用MyISAM引擎,导致Innodb表数据无法被正确读取。

 修改表引擎方法

alter table table_name engine=innodb;

 关闭Innodb引擎方法

关闭mysql服务

找到/etc目录下的my.cnf文件:

找到default-storage-engine=INNODB 改为default-storage-engine=MYISAM

4,创建shell脚本

vi backupmysqldaily.sh

写入一下内容

如果引擎是myisam 加上--lock-tables=false参数,如果是innodb,则加上--single-transcation比较好。

#!/bin/bash
mysqldump -uroot -p123456 --lock-tables=false ambari | gzip > /home/mysqlbackup/ambari_$(date +%Y%m%d_%H%M%S).sql.gz

 

5,添加可执行权限

chmod u+x backupmysqldaily.sh

添加可执行权限之后先执行一下,看看脚本有没有错误,能不能正常使用;

./backupmysqldaily.sh

 

6,添加计划任务

检测或安装 crontab

确认crontab是否安装: 
执行 crontab 命令如果报 command not found,就表明没有安装

crontab

添加计划任务

执行命令:

crontab -e

这时就像使用vi编辑器一样,可以对计划任务进行编辑。 
输入以下内容并保存:

*/1 * * * * /home/mysqlbackup/backupmysqldaily.sh

具体是什么意思呢? 
意思是每一分钟执行一次shell脚本“/home/backup/bkDatabaseName.sh”。

7,测试计划任务是否执行

很简单,我们就执行几次“ls”命令,看看一分钟过后文件有没有被创建就可以了!

如果任务执行失败了,可以通过以下命令查看任务日志:

# tail -f /var/log/cron

每天执行任务
59 23 * * * /home/mysqlbackup/backupmysqldaily.sh

 

mysql数据库每日一备

标签:编辑   root   tables   支持   dir   uil   date   lock   执行命令   

原文地址:http://www.cnblogs.com/wendu/p/6841384.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!