转自

Mysql 自动备份脚本2 - - ITeye技术网站
http://kangh.iteye.com/blog/2309091

备份方案:

备份主机:192.168.10.11

数据库服务器:192.168.10.22

备份内容:对mysql服务器中的xxxx和yyyy库进行远程备份,每天凌晨2:30执行,每个库备份为独立的.sql文件,然后压缩成.tar.gz的格式,文件名中嵌入执行备份的日期和时刻。

工作准备:

1、确保备份主机与数据库服务器之间的网络保持连接通畅,不能有网络链路故障,防火墙等阻碍。

2、mysql服务必须允许备份主机远程访问,且授权用户能够查询xxxx和yyyy库。

这儿可以创建一个专用的数据库备份账户"kanghui" 允许备份主机192.168.10.11连接到mysql数据库,并授权对xxxx和yyyy库的读取权限,使用逻辑备份工具mysqldump的时候,需要对库设置select和lock和tables权限。

  1. mysql>grant select,lock tables on xxxx.*to 'kanghui'@'192.168.10.11' identified by '123456';
  2. mysql>grant select,lock tables on yyyy.*to 'kanghui'@'192.168.10.11' identified by '123456';

设置访问权限后就在备份服务器上测试数据库访问,查询授权等是否有效。

  1. [root@localhost ~]#mysqldump -u root -p123456 -h 192.168.10.22 --databases xxxx > ceshi.sql
  2. [root@localhost ~]#ls -lh ceshi.sql

下面是一个mysql的备份脚本,根据自己的需求修改即可。

  1. [root@localhost ~]#mkdir -p /opt/mysql_bak/
  2. [root@localhost ~]#cd /opt/mysql_bak/
  3. [root@localhost mysql_bak]# vim mysql_bak.sh
  4. #!/bin/bash
  5. #auto backup mysqldb
  6. #by authors kanghui 2016-06-12
  7. #这是一个简单化到MYSQL数据库逻辑备份脚本
  8. #1.定义数据库链接,目标库信息
  9. MY_user="root"
  10. MY_pass="123456"
  11. MY_host="192.168.10.22"
  12. MY_conn="-u $MY_user -p$MY_pass -h $MY_host"
  13. MY_db1="xxxx"
  14. MY_db2="yyyy"
  15. #2.定义备份目录,工具,时间,文件名
  16. BF_dir="/opt/mysql_bak"
  17. BF_cmd="/usr/bin/mysqldump"
  18. BF_time="date +%Y%m%d-%H%M"
  19. name_1="$MY_db1-$BF_time"
  20. name_2="$MY_db2-$Bf_time"
  21. #3先导出为.sql脚本,然后再进行压缩(打包后删除源文件)
  22. cd $BF_dir
  23. $BF_cmd $MY_conn --databases $MY_db1 > $name_1.sql
  24. $BF_cmd $MY_conn --databases $MY_db2 > $name_2.sql
  25. /bin/tar zcf $name_1.tar.gz $name_1.sql --remove &> /dev/null
  26. /bin/tar zcf $name_2.tar.gz $name_2.sql --remove &> /dev/null

设置权限并测试:

  1. [root@localhost mysql_bak]#chmod +x mysql_bak.sh
  2. [root@localhost mysql_bak]#./mysql_bak.sh
  3. [root@localhost mysql_bak]#ls -lh /opt/mysql_bak/*.gz

最后把脚本加入带计划任务即可。

  1. [root@localhost ~]#crontab -e
  2. 30 2 * * * /opt/mysql_bak/mysql_bak.sh

Mysql 自动备份脚本的更多相关文章

  1. python编写Mysql自动备份脚本

    1、先写一个python脚本 vim /opt/mysql_dump.py #!/usr/bin/env python# -*- coding:utf-8 -*-import osimport tim ...

  2. linux系统中mysql自动备份脚本

    mysql数据库中存储着网站最核心最宝贵的数据,如果因为不可预测的原因导致数据损坏或丢失,对一个网站的打击是毁灭性的,一次又一次的教训提醒着我们一定要做好备份,但是手工备份确实比较麻烦,每天都要手工操 ...

  3. mysql自动备份脚本

    linux系统mysql5.6版本实现自动备份步骤 1.sudo mysql --help | grep my.cnf 查找my.cnf文件2.在文件中添加如下行实现免输入密码[mysqldump]u ...

  4. ubuntu server 11.10 mysql 自动备份脚本

    1.下载最新的备份脚本(AutoMySQLBackup) 点这里下载 2.修改脚本配置部分 vi  /root/automysqlbackup-2.5.1-01.sh USERNAME=root PA ...

  5. linux下mysql自动备份脚本

    脚本放在 /home/user/mysql_backup.sh crontab # crontab -l # m h  dom mon dow   command 28 16 * * * /home/ ...

  6. Linux 下Mysql自动备份脚本

    backdb.sh 文件 #!/bin/bash USER="root" PASSWORD="888888" DATABASE="mydb" ...

  7. mysql 自动备份和nginx自动安装脚本

    一.自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #wugk #Define PATH定义变量 ...

  8. MySql自动备份shell

    MySql黑屏备份是每个运维工程师必备的技能,以下是MySQL自动备份脚本: #/bin/bash#This is mysql backup shell on 2019/4/28 BAKUP_DIR= ...

  9. MySQL binlog 自动备份脚本

    MySQL binlog 自动备份脚本 1 利用shell进行备份 #!/bin/sh #mysql binlog backup script /usr/local/mysql/bin/mysqlad ...

随机推荐

  1. String类中一些常用的函数

    1 CharAt(index) : 通过他的索引来获取元素 @Test public void test1(){ String a="dfjkdjfd134"; for(int i ...

  2. HDU 5769 Substring

    后缀数组. 然后按照排序完成之后的顺序,每个后缀统计贡献量. 统计第i个后缀的贡献的时候,如果这个后缀中没有X,贡献度为0. 有贡献的分3种情况考虑: 1.如果这个后缀height部分等于0(即与前一 ...

  3. python2.7学习记录之二

    一.高级特性 1.切片取前3个元素用L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3.如果第一个索引是0可省略.前10个数 每两个取一个L[:10:2],所有数 每5个取一个L[::5 ...

  4. 在Eclipse中执行Andorid test preject提示The connection to adb is down, and a severe error has occured.解决方法

    启动android模拟器时.有时会报The connection to adb is down, and a severe error has occured.的错误.在网友说在任务管理器上把所有ad ...

  5. JS获取网页中HTML元素的几种方法分析

    getElementById getElementsByName getElementsByTagName 大概介绍 getElementById ,getElementsByName ,getEle ...

  6. Web开发人员不要错过的60款用户界面设计工具(上)

    Web开发大师们,干货再次来袭!小编为大家盘点了60款功能丰富类型各异的用户界面设计工具,本系列将以上中下三篇分别为大家呈现.今天盘点的这20款工具囊括了大量界面原型设计工具,有免费的在线原型工具,有 ...

  7. 3.请问配置JDK时环境变量path和JAVA_HOME的作用是什么?

    1.PATH环境变量.作用是指定命令搜索路径,在i命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序.需要把jdk安装目录下的bin目录增 ...

  8. android studio布局文件/XML怎么代码补全

    android studio中的布局文件代码补全方式是打第一个字母就提示了,而java代码有时候要按快捷键. 布局文件的话呢,要写在标签开始处才提示,在标签闭合处有时候不提示,有时候在内容里也会有不提 ...

  9. Linux非root用户程序使用小于1024端口

    在Linux下,默认端口1024下的是要在root下才能使用的,在其他用户下,如果尝试使用将会报错.在有的时候,我们可能考虑程序运行在root帐户下,可能会给Linux系统带来安全风险.那如何能够让非 ...

  10. masonry使用问题

    2015年11月3日 coreData的学习练习中复习使用masonry自动布局 masonry自动布局发现问题: 两个控件的相对布局: 如果被参考对象用这个带anchor的属性,就会报这样一个错误: ...