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

相关推荐

  • 用户权限以及组权限作业

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

    Linux干货 2016-08-08
  • 制作kickstart文件和引导镜像

    kickstart制作: (1)通过手动编辑,莫个kickstat模板进行修改:如根目录下的anaconda-ks.cfg (2)通过图形界面制作kickstart文件,可以安装system-config-kickstart, 通过kickstart配置程序打开某个模板,如anaconda-ks.cfg,在图片界面下的修改, 基本配置:默认语音,键盘类型,时…

    2017-11-14
  • 再不自动化就晚啦!优云教你4步打造基于CentOS的产品镜像

    随着Linux程序的增多,软件的安装过程中经常出现如下问题: 1、硬件配置类似或者相同时,批量安装系统和软件,希望实现自动化安装,减少安装时间和人为出错。 2、工程实施人员在不同客户现场进行系统和软件安装(硬件配置不同),由于硬件有差别,不容易实现自动化。 笔者针对以上场景,从提高生产效率,减少误操作的立场,提出如下解决方案,希望能达到抛砖引玉的目的,并能与…

    系统运维 2016-07-16
  • 文件权限

     本篇博客是对文件权限的简单介绍,将会简述下权限的数字表现形式,还有字母表现形式,还有一些特殊的suid、sgid、sticky的权限介绍,还有对ACL权限的简述。  一、权限的定义     关于权限,百度百科的解释如下:权限(privilege)是指某个特定的用户具有特定的系统资源使用权力,像是文…

    Linux干货 2017-07-29
  • 创建yum源及httpd源码编译

    创建yum源及源码编译httpd yum本身相比于rpm来说,能够将有依赖的包文件一次性的安装完成,是相当的方便的。 yum的服务器支持的几种格式: http、https、ftp、file 1、yum基础命令 1、yum命令 yum [options] [command] [package …] [options]: 基本不用 [command]: re…

    Linux干货 2017-08-08
  • N22-第二周作业

    Linux上的文件管理类命令有哪些,其常用使用方法及其相关示例演示。 文件管理类命令有:cp,mv,rm cp:复制文件或者目录   单源复制:cp [OPTION]… [-T] SOURCE DEST        多源复制:cp [OPTION]… SOURCE… DI…

    Linux干货 2016-09-19