Mysql备份II

Mysql备份II

V.II.I单台或共用机器,数据量和访问量小50G<

1 Mysqldump(全导出,导库,导表) 锁表 如果这时有些入会锁住或者超时

2 至少停止写入 防止innodb配置还没刷到磁盘里 先flash tables

/usr/local/mysql/bin/mysqladmin -S /tmp/mysql.sock -u root -p password shutdown
Service msqld stop && 清除binlog   resetmaster  tar or rsync && service mysqld start

for MyISAM

mysqldump --user=root –all-databases –flush-privileges –lock-all-tables
--master-data=1 –flush-log –trigger –routines –events –hex-blob
> $backup_dir/full_dump_$date.sql

for InnoDB

mysqldump –user=root –all-databases –flush-privileges  -- single-transaction
--master-data=1 --flush -logs  -–triggers – -routines  --events –hex-blob>
$backup_dir/$full_dump_$date.sql

--hex-blob
使用十六进制格式导出二进制字符串字段.有二进制类型数据就必须使用 .binary
.varybinary .blob

--single-transaction
先提交begin sql,能保证导出数据库的一致性状态 ,只适用于 InnoDB 和BDB
TABLES 会使任何挂起的失误隐含提交
导出 大表应结合使用—quick选项

Masterdata=1 mysqldump 会包括change master to file & position   

Masterdata=2  mysqldump 会包括change master to file & position  但是是被注释掉的

这个值主要用于主从复制时

Tar:

ScriptS:

#!/bin/bash
#bakup mysql dbTables; usefree; not responsible;
#
#author lethe  6/15/2016
#QQ:914576241
#www.lethe.com.cn
#
#echo -n "inputdbname:"
#read dbname
#echo "$dbname"
echo -n "inputdbuser:"
read user
echo “$user”
echo -n "inputpassword:"
read password
echo -n "inputportNO.:"
read port
echo “$port”
echo -n "inputdeldata:"
read passday
echo “$passday”
user=“$user”
password=“$password”
#dbname=“$dbname”
cm= “mysql -S /tmp/mysql.sock -u “$user” -p “$password””
dm=” /usr/local/mysql/bin/mysqldump -S /tpm/mysql.sock -u $user -p $password”
em=” /usr/local/mysql/bin/mysqladmin -S /tmp/mysql.sock -u $user -p $password shutdown”
date=`date +%Y_%m_%d`
before=` date +%Y-%m-%d 00:00:00 `
ddate=` date +"%Y_%m_%d" -d "-${passday} day" `
rm -rf *_$ddate*
if [ ! -d /mysql/backup ];then
mkdir -p /mysql/backup
fi
cd /mysql/backup
$cm -e “PUGE MASTER LOGS BEFORE ‘$before’”
#binlog too large
task=`ps waux | grep mysql | grep -v grep| awk’{print $2}’| wc -l`
if [ $task -gt 0 ];then
$em
Service mysqld stop
fi
#make sure mysql closed
$em
tar zcf /mysql/backup/mysql_$port_$date.tar.gz /var/lib/mysql/
/usr/local/mysql/bin/mysql_safe –defaults-file=/var/lib/mysql/my.cnf &
Service mysqld start  &>  /dev/null
#make sure mysql start

原创文章,作者:双庆 李,如若转载,请注明出处:http://www.178linux.com/18008

(0)
双庆 李双庆 李
上一篇 2016-06-09 22:14
下一篇 2016-06-09 22:14

相关推荐

  • iptables/netfilter入门到进阶

    iptables从入门到精通 本文主要围绕以下七点进行阐述:   一、防火墙简介 二、Iptables简介 三、Iptables的四张表及五条链 四、Iptables的filter应用详解 五、Iptables的nat应用详解       一、防火墙简介: 在网络中,所谓的防火墙是指一种将内部网络和公众访问网分开的方法…

    Linux干货 2017-03-15
  • MySQL优化大全

     1. 优化SQL   1)通过show status了解各种sql的执行频率         show status like 'Com_%'        了解 Com_select,Com_in…

    Linux干货 2015-04-13
  • 马哥教育网络19期+第十六周课程练习

    编译安装LNMP 一、安装Nginx: 1、解决依赖关系 编译安装nginx需要事先需要安装开发包组"Development Tools"和 "Development Libraries"。同时,还需要专门安装pcre-devel包: # yum -y ins…

    Linux干货 2016-08-22
  • 系统基础之权限管理作业题

    1.问题:  在/data/testdir里创建的新文件自动属于g1组,组g2的成员如: alice能对这些新文件有读写权限,组g3的成员如:tom只能对新文件有读权限,其它用户(不属于g1,g2,g3)不能访问这个文件夹。 [root@wen-7 testdir]# mkdir -p /data/…

    Linux干货 2016-08-04
  • python面向对象第二周魔术方法详解

    魔法方法及其使用__开头和结束的方法,定义外部没有办法直接调用,但会有影响使用运算符号的魔法方法, + ,-,*,/,%,//,**, __add__,__sub__,__mul__,__truediv__,__mod__,__floordiv__,__pow__,__divmod__(?),系统内部对于数值型,字符串型,容器内型都定义了其中部分或者全部的运…

    Linux干货 2017-11-22
  • 一. DHCP,TFTP, DNS 配置

    练习在CentOS6上配置DHCP, TFTP, DNS服务 1. 首先按下图所示搭建网络拓扑图 2017-07-11 151425-001.png Server1 服务器IP: 192.168.20.101/24GATEWAY: 192.168.20.2DNS: 192.168.20.2 Server2 服务器IP: 192.168.20.102/24GA…

    Linux干货 2017-07-11