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
下一篇 2016-06-09

相关推荐

  • Linux之文件管理命令

      Linux文件管理类命令 Linux一切皆文件,所以熟悉文件管理命令对我们来说至关重要 文件查看命令 cat命令:文本文件查看工具 命令用法:         cat [OPTION]… [FILE]… 常用选项:  &nbsp…

    Linux干货 2016-11-04
  • 学习总结

    课上练习整理

    Linux干货 2017-11-19
  • 学习宣言

    纸上得来终觉浅,绝知此事要躬行博学之,审问之,慎思之

    Linux干货 2016-10-24
  • CentOS下命令基础练习

    马哥教育网络班23期+第五周课堂作业 CentOS下命令基础练习 1、显示当前系统上root、fdeora或user1用户的默认shell 2、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello() 3、使用echo命令输出一个绝对路径 使用grep取出其基名 扩展:取出其路径名 (…

    Linux干货 2016-10-24
  • linux进程管理

    进程概念 内核的功用:进程管理、文件系统、网络功能、内存管理、驱动程序、 安全功能等 Process:  运行中的程序的一个 副本,是被 载入内存的一个指令集合     进程ID (Process ID,PID)号码被用来标记各个进程  &…

    Linux干货 2016-09-12
  • HAProxy初探及简单案例_Net21_第二周

    前言 随着互联网业务的迅猛发展,大型电商平台和门户网站对系统的可用性和可靠性的要求越来越高,高可用集群、负载均衡集群成为一种热门的系统架构解决方案。在众多的负载均衡解决方案中,有基于硬件的负载均衡设备,例如F5、Big-IP等,也有基于软件的负载均衡产品,如LVS、Nginx以及本文介绍的HAProxy等。在软件的负载均衡产品中,又分为两种实现方式,分别是基…

    Linux干货 2016-07-22