Mysql 自动备份脚本
转自:
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权限。
- mysql>grant select,lock tables on xxxx.*to 'kanghui'@'192.168.10.11' identified by '123456';
- mysql>grant select,lock tables on yyyy.*to 'kanghui'@'192.168.10.11' identified by '123456';
设置访问权限后就在备份服务器上测试数据库访问,查询授权等是否有效。
- [root@localhost ~]#mysqldump -u root -p123456 -h 192.168.10.22 --databases xxxx > ceshi.sql
- [root@localhost ~]#ls -lh ceshi.sql
下面是一个mysql的备份脚本,根据自己的需求修改即可。
- [root@localhost ~]#mkdir -p /opt/mysql_bak/
- [root@localhost ~]#cd /opt/mysql_bak/
- [root@localhost mysql_bak]# vim mysql_bak.sh
- #!/bin/bash
- #auto backup mysqldb
- #by authors kanghui 2016-06-12
- #这是一个简单化到MYSQL数据库逻辑备份脚本
- #1.定义数据库链接,目标库信息
- MY_user="root"
- MY_pass="123456"
- MY_host="192.168.10.22"
- MY_conn="-u $MY_user -p$MY_pass -h $MY_host"
- MY_db1="xxxx"
- MY_db2="yyyy"
- #2.定义备份目录,工具,时间,文件名
- BF_dir="/opt/mysql_bak"
- BF_cmd="/usr/bin/mysqldump"
- BF_time="date +%Y%m%d-%H%M"
- name_1="$MY_db1-$BF_time"
- name_2="$MY_db2-$Bf_time"
- #3先导出为.sql脚本,然后再进行压缩(打包后删除源文件)
- cd $BF_dir
- $BF_cmd $MY_conn --databases $MY_db1 > $name_1.sql
- $BF_cmd $MY_conn --databases $MY_db2 > $name_2.sql
- /bin/tar zcf $name_1.tar.gz $name_1.sql --remove &> /dev/null
- /bin/tar zcf $name_2.tar.gz $name_2.sql --remove &> /dev/null
设置权限并测试:
- [root@localhost mysql_bak]#chmod +x mysql_bak.sh
- [root@localhost mysql_bak]#./mysql_bak.sh
- [root@localhost mysql_bak]#ls -lh /opt/mysql_bak/*.gz
最后把脚本加入带计划任务即可。
- [root@localhost ~]#crontab -e
- 30 2 * * * /opt/mysql_bak/mysql_bak.sh
Mysql 自动备份脚本的更多相关文章
- python编写Mysql自动备份脚本
1、先写一个python脚本 vim /opt/mysql_dump.py #!/usr/bin/env python# -*- coding:utf-8 -*-import osimport tim ...
- linux系统中mysql自动备份脚本
mysql数据库中存储着网站最核心最宝贵的数据,如果因为不可预测的原因导致数据损坏或丢失,对一个网站的打击是毁灭性的,一次又一次的教训提醒着我们一定要做好备份,但是手工备份确实比较麻烦,每天都要手工操 ...
- mysql自动备份脚本
linux系统mysql5.6版本实现自动备份步骤 1.sudo mysql --help | grep my.cnf 查找my.cnf文件2.在文件中添加如下行实现免输入密码[mysqldump]u ...
- ubuntu server 11.10 mysql 自动备份脚本
1.下载最新的备份脚本(AutoMySQLBackup) 点这里下载 2.修改脚本配置部分 vi /root/automysqlbackup-2.5.1-01.sh USERNAME=root PA ...
- linux下mysql自动备份脚本
脚本放在 /home/user/mysql_backup.sh crontab # crontab -l # m h dom mon dow command 28 16 * * * /home/ ...
- Linux 下Mysql自动备份脚本
backdb.sh 文件 #!/bin/bash USER="root" PASSWORD="888888" DATABASE="mydb" ...
- mysql 自动备份和nginx自动安装脚本
一.自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #wugk #Define PATH定义变量 ...
- MySql自动备份shell
MySql黑屏备份是每个运维工程师必备的技能,以下是MySQL自动备份脚本: #/bin/bash#This is mysql backup shell on 2019/4/28 BAKUP_DIR= ...
- MySQL binlog 自动备份脚本
MySQL binlog 自动备份脚本 1 利用shell进行备份 #!/bin/sh #mysql binlog backup script /usr/local/mysql/bin/mysqlad ...
随机推荐
- mybatis框架源码学习
转:来自https://my.oschina.net/u/1458864/blog/293659 摘要:初始化mybatis,所有的配置都在configuation 对象中使用mybatis,从sql ...
- 《Windows驱动开发技术详解》之Windows内核函数
内核模式下字符串操作 ANSI_STRING和UNICODE_STRING分别定义如下:
- 第十六节,基本数据类型,字典dict
字典 常用操作: 索引 新增 删除 键.值.键值对 循环 长度 字典由键值对组成,由一个键(名称)和 一个值组成,与列表和元组不同的是里面的元素是有键的(名称) 所以当要打印字典时,打印字典变量加[键 ...
- json 数组 对象 xml 之间转换(待补充)
json 数组 xml 对象 之间转换(待补充) 1 把对象的类型或者数组转换成字符串类型(或者更确切的说是json类型的). 此处参考链接http://www.jb51.net/article ...
- debia下安装libjpeg
今天在编译时遇到如下问题: configure: error: no usable libjpeg; please install libjpeg devel package or equivalen ...
- Android实现Excel表格,且表格能左右、上下滑动
1.自定义实现一个水平滚动控件HorizontalScrollView import android.content.Context; import android.util.AttributeSet ...
- Linux KVM 安装配置
--------------------------一.前言二.环境三.安装与配置四.创建kvm虚拟机 一.前言 KVM,即Kernel-based Virtual Machine的简称,是一个开源的 ...
- vs找不到svn源代码管理插件之我见
使用svn要安装两个文件,一个客户端:TortoiseSVN-1.8.msi,一个插件:AnkhSvn-2.5.msi:两个都安装好之后,在vs的tool(工具)选项卡中,选择自定义,然后选择sour ...
- IOS传值之代理传值(一)
1.使用代理delegate的方法 2.使用通知Notification的方法 3.KVO等方法 4.block传值 ~~~~~~~~~~~~~~~~ 1.使用代理delegate的方法 #impor ...
- Spring 与 mybatis整合---事务管理
MyBatis与Spring整合前后事务管理有所区别 整合前:通过 session = sessionFactory.openSession(true); //或者是false 设置事务是否自动提交: ...