利用mysqldump 实现每天备份方案

1.创建单独的导出导入数据库帐号

    grant SELECT, RELOAD, SHOW DATABASES, LOCK TABLES on game to jackluo@localhost identified by 'jackluo';
    grant SELECT, RELOAD, SHOW DATABASES, LOCK TABLES on platform to jackluo@localhost identified by 'jackluo';
    grant SELECT, RELOAD, SHOW DATABASES, LOCK TABLES on game to jackluo@192.168.10.56 identified by 'jackluo';
    grant SELECT, RELOAD, SHOW DATABASES, LOCK TABLES on platform to jackluo@192.168.10.56 identified by 'jackluo';

2.要执行的mysqlbackup.sh

#!/bin/bash
############################
# backup mysql             #
# author jackluo           #
# createtime 2013-9-16     #    
############################

db_user=jack #备份mysql用户名
db_password=test #备份mysql密码
db_host=192.168.10.56 #备份mysql
local_user=root #本地数据库
local_password=admin #本地数据库
gamedatadb=$(date +%Y%m%d)"-game.sql" #临时数据库
platformdatadb=$(date +%Y%m%d)"-plat.sql" #临时数据库
#mysqldump -u$db_user -h$db_host -p$db_password --all-databases > $datafile
mysqldump -u$db_user -h$db_host -p$db_password game > $gamedatadb # backup game #导出数据
mysqldump -u$db_user -h$db_host -p$db_password platform > $platformdatadb # backup platform
mysql -u${local_user} -p${local_password} game< $gamedatadb #导入本地数据库
mysql -u${local_user} -p${local_password} platform< $platformdatadb #导入本地数据库
rm -rf $gamedatadb #删除临时文件
rm -rf $platformdatadb #删除临时文件

3.写计划任务:

       编辑/etc/crontab 文件配置cron

02 3 * * * /home/wwwroot/sh/mysqlbackup.sh 

然后,就OK了

简单说一下,这种只适合小型的,大公司都是主从的

附录:

         datadbblack 192.168.1.10 是 SELECT, RELOAD, SHOW DATABASES, LOCK TABLES  否

 

权限列表

 

1.Select  读取

 

2.SHOW DATABASES 允许访问完整的数据库列表

 

4. LOCK TABLES 允许锁定表

 

5.RELOAD 允许载入和刷新服务器缓存

 

以上几点是必须的.请注意

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值