mysql服务器ip:192.168.0.10

备份服务器ip:192.168.0.11

数据库名称:db_product

思路:在mysql服务器A上创建一个用户分配权限专门用于数据库备份,A服务器可以是数据库集群中的slave之一。找一个磁盘宽裕的服务器B,安装mysql的客户端。

在服务器B上执行mysqldump命令备份数据库。

只安装mysql客户端的教程:https://www.cnblogs.com/xxoome/p/8313453.html

#创建用户,用户名为【backupuser】并限制客户端连接ip,【192.168.0.11】为B服务器的ip
CREATE USER 'backupuser'@'192.168.0.11' IDENTIFIED BY 'pwd'; #授予用户权限,限制了可以访问的数据库
GRANT ALL ON db_product.* TO 'backupuser'@'192.168.0.11';
flush privileges;

编写脚本

#创建脚本
touch mysql_backup.sh #增加可执行权限
chmod +x mysql_backup.sh

脚本内容

#!/bin/sh
# File: /usr/local/xiaohb/mysql_backup.sh
# Database info
DB_NAME="db_product"
DB_USER="backupuser"
DB_PASS="pwd"
DB_HOST="192.168.0.10"
DB_PORT="" BIN_DIR="/usr/bin"
BCK_DIR="/usr/local/xiaohb/mysql_backup"
DATE=`date +%Y%m%d_%H%M%S` mkdir -p $BCK_DIR
#$BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS $DB_NAME > $BCK_DIR/$DB_NAME.dump_$DATE.sql # 为了减小磁盘空间的消耗,这里使用gzip压缩
$BIN_DIR/mysqldump --opt -h$DB_HOST -P$DB_PORT -u$DB_USER -p$DB_PASS $DB_NAME | gzip > $BCK_DIR/$DB_NAME.dump_$DATE.sql.gz

创建定时任务

#编辑定时任务
crontab -e #若crontab没有安装
yum install -y vixie-cron #每天凌晨1点执行
* * * /usr/local/xiaohb/mysql_backup.sh #重载crontab
service crond reload

mysqldump定时备份数据库的更多相关文章

  1. 【mysql】备份篇1:使用系统计划任务+mysqldump 定时备份mysql数据库 不用输入密码自动导出sql文件

    项目部署在服务期上之后,有了新的需求,需要每月定时备份mysql数据库的所有数据! 查找了网上的多篇文章之后,自己又对bat文件中的mysqldump语句进行改进,可以实现了不用输入密码就能自动定时备 ...

  2. linux下mysql定时备份数据库

    linux下mysql定时备份数据库 (2010-10-21 12:40:17) 转载▼ 标签: 杂谈   一.用命令实现备份 首页进入mysql的bin目录 1.备份数据#mysqldump -uu ...

  3. Linux下定时备份数据库

    linux下使用crontab定时备份MYSQL数据库的方法只需按照下面3步做,一切都在你的掌控之下: 第一步:在服务器上配置备份目录代码: mkdir /var/lib/mysqlbackup cd ...

  4. crontab的相关设置&linux定时备份数据库

    对于才了解crontab的人来说,应该按照以下的步骤来设置crontab 1.首先要检查是否装了crontab http://blog.sina.com.cn/s/blog_4881040d01011 ...

  5. Linux 下定时备份数据库以及删除缓存

    一.定时备份数据库 1.在根目录下创建备份文件夹 #mkdir backup 2.进入到该目录下,创建backup.sh文件 3.赋予文件权限让其变成可执行文件 4.在backup.sh中写备份的脚本 ...

  6. Centos下_MysqL5.7在使用mysqldump命令备份数据库报错:mysqldump: Got error: 1449: The user specified as a definer ('fk_system'@'localhost') does not exist when using LOCK TABLES

    在阿里云服务器增加一个shell脚本定时备份数据库脚本执行任务时,测试性的执行了备份命令,如下 [root@iZ2ze503xw2q1fftv5rhboZ mysql_bak]# /usr/local ...

  7. Centos下_MysqL5.7在使用mysqldump命令备份数据库报错:mysqldump: [Warning] Using a password on the command line interface can be insecure.

    在阿里云服务器增加一个shell脚本定时备份数据库脚本执行任务时,测试性的执行了备份命令,如下 [root@iZ2ze503xw2q1fftv5rhboZ mysql_bak]# /usr/local ...

  8. cron定时备份数据库

    1.定时备份数据库 shell 脚本 #!/bin/bash # export and backup the abgent_web database.sql mysqldump -uusername ...

  9. MysqL5.7在使用mysqldump命令备份数据库报错:mysqldump: [Warning] Using a password on the command line interface can be insecure.

    在阿里云服务器增加一个shell脚本定时备份数据库脚本执行任务时,测试性的执行了备份命令,如下 [root@iZ2ze503xw2q1fftv5rhboZ mysql_bak]# /usr/local ...

随机推荐

  1. 2017中国无人机公开赛 总决赛 CDR Final 竞赛规则

    2017中国无人机公开赛总决赛 CDR Final竞赛规则 V2 二〇一七年八月(修订) 一. 竞赛项目描述(一) 无人机绕标竞速赛(专业组)飞行员通过佩戴眼镜或显示屏采用第一视角飞行,使用无线电遥控 ...

  2. me 云面试

    元祖的特点: 1.元组内的元素,不可以增加,删除,只能访问,这个是元祖的特性,比较安全.类似于字符串.但是我们可以对整个元祖进行删除.使用del内置函数 2.当元祖内只有一个元素的时候,需要加逗号消除 ...

  3. VUE学习第一天,安装

    vue生命周期好文章: http://www.zhimengzhe.com/Javascriptjiaocheng/236707.html

  4. IDEA 配置datasource,提升编码效率,让你在 Mapper.xml 中编写sql可以飞起来~

    IDEA 2018 创建springboot工程后,如果你打开一个.sql文件,或者一个mybatis的mapper.xml文件,会提示: No data source are configured ...

  5. 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第4章编程练习3

    #include <iostream>#include <cstring>using namespace std;int main(){ char fname[20]; cha ...

  6. yii2 用 bootstrap 给元素添加背景色

    使用 bootstrap 给元素添加背景色 1.bootstrap 官网:http://getbootstrap.com/ 2.bootstrap 中文官网:http://v3.bootcss.com ...

  7. asp.net缓存 (转)

    原文地址 http://www.cnblogs.com/knowledgesea/archive/2012/07/10/2530436.html 谢谢 一.缓存概念,缓存的好处.类型.         ...

  8. 如何给webbrowser指定IE版本

    void Button1Click(object sender, EventArgs e)     {         RegistryKey rk = Registry.LocalMachine; ...

  9. An entry point cannot be marked with the 'async' modifier

    I copied below code from this link.But when I am compiling this code I am getting an entry point can ...

  10. springboot拦截器@Autowired为null解决

    问题原因 拦截器加载的时间点在springcontext之前,所以在拦截器中注入自然为null 文件解决 在spring配置文件中这样写 @Bean public HandlerInterceptor ...