Mysql备份III

Mysql备份III

Mysqldump和mysqldumper

A备份和恢复所有库

$ time mysqldumo –all-databases > /mysql/backup/date.time.database.dump.sql
$ echo $?
$ ls -lah /mysql/backup/date.time.database.dump.sql
$ time mysql -u[user] -p -f < date.time.database.dump.sql > 
date.time.database.dump.sql.out 2>&1
$echo $?
$ls -lah date.time.database.dump.sql.out

$/usr/local/mysql/bin/mysqldump -S /tmp/mysql.sock -u root -p password -A
>/mysql/backup/ date.time.database.dump.sql
$mysql -S /tmp/mysql.sock -p password < /mysql/backup/ date.time.database.dump.sql

B备份和恢复一个库

$/usr/local/mysql/bin/mysqldump -S /tmp/mysql.sock -u root -p password databasename
(这里是库名)
>/mysql/backup/ date.time.databasename.dump.sql
$Mysql -S /tmp/mysql.sock -u root -p password databasename < /mysql/backup/ date.time.databasename.dump.sql

Or

Mysql>create database databasename;
Mysql>use databasename;
Mysql>system pwd
/mysql/backup
Mysql>source /mysql/backup/ date.time.databasename.dump.sql
Mysql>show tables;

C备份和恢复一个表

$/usr/local/mysql/bin/mysqldump -S /tmp/mysql.sock -u root -p password databasename
(这里是库名) tablename(表名)
>/mysql/backup/ date.time.databasename.tablename.port.dump.sql

$Mysql -S /tmp/mysql.sock -u root -p password databasename < /mysql/backup/ date.time.databasename.tablename.port.dump.sql

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
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”
#dbname=“datebasename”
dbakpath=“/mysql/backup/$dbname”
#dbakpath=“back up path”
#
#$cm -e “flash tables with read lock;”
#lock
#
#
if ["$dbname" = "" ]
echo “dbname null”
exit 1
fi
if [!-d”$dbakpath”]
then
mkdir -p “$dbakpath”
fi
cd “$dbakpath”
#tables
$cm -e “use  $dbname; show tables;”| grep -v Tables_in_ > ./table_list.txt
date=`date +%Y_%m_%d`
while read line
do
echo xxxx$line
#data
$dm $dbname ${line} > $dbakpath/${line}_$date.sql
done <./table_list.txt
rm -f ./table_list.txt
#del temp file
#ls -a /var/lib/mysql/mysql-bin* |grep -v mysql-bin.index|sort|head -1|awk’{print$5,$9}’|awk-F ‘/’’{printf $1,$5}’> $dbakpath_$date_position.txt
#
#cm -e “unlock tables;”

D备份和恢复表结构

$ mysqldump–all-databases –no-data 
> /mysql/backup/date.time.database.dumpschema.sql
$ echo $?
$ ls -lah /mysql/backup/date.time.database.dumpschema.sql
$ time mysql -u[user] -p -f < date.time.database.dumpschema.sql > 
date.time.database.dumpschema.sql.out 2>&1
$echo $?
$ls -lah date.time.database.dumpschema.sql.out

E备份和恢复存储过程和触发器

$ mysqldump–all-databases –no-data –no-create-info –events –routines 
> /mysql/backup/date.time.database.dumpobjects.sql
$ echo $?
$ ls -lah /mysql/backup/date.time.database.dumpobjects.sql
$ time mysql -u[user] -p -f < date.time.database.dumpobjects.sql > 
date.time.database.dumpobjects.sql.out 2>&1
$echo $?
$ls -lah date.time.database.dumpobjects.sql.out


$/usr/local/mysql/bin/mysqldump -S /tmp/mysql.sock -u root -p password -R –triggers -d -E -A > /mysql/backup/time.date.datebasename.triggereventsfunctions.dump.sql
$/usr/local/mysql/bin/mysql -S /tmp/mysql.sock -u root -p password <
/mysql/backup/time.date.datebasename.triggereventsfunctions.dump.sql

数据恢复过程中闪退需要检查字符集和环境需要手工修改文件修复

ScriptS:

#!/bin/bash
#clean passed days old backup;back up DB; 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 "del back before x days :"
read passday
passday=”$passday”
user=“$user”
password=“$password”
dbname=“$dbname”

dbakpath=“/mysql/backup/$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”
#
#$cm -e “flash tables with read lock;”
#lock
#
#
#
if [!-d ”$dbakpath”]
then
mkdir -p “$dbakpath”
echo “$dbakpath not exsit create already”>>  ./dbak.log 
fi

cd “$dbakpath”
date=`date +%Y_%m_%d`
#lbday=”last back up data”
lbday=` date +"%Y_%m_%d" -d "-${passday} day"`
mkdir ./$lbday
ls ./$lbday/*  >> dbak.log 
cp *_lbday.sql ./$lbday
rm -rf *_$lbday.sql 
rm -rf ./$lbday
echo “del ok” >>  ./dbak.log

if [!-d”$date”]
then
mkdir -p “$date”
cp /var/lib/mysql/my.cnf  $dbakpath/$date/my.cnf.$date
echo “$date not exsit create already”>>  ./dbak.log 
fi

cd $date


#Oldbackupdir=odir

$cm -e “show databases;”|grep -vE “( Databases|_schema)” >  $dbackpath/db_list
$cm -e “use $dbname show tables;”|grep -v Table_in  > $dbackpath/table_list

############################################


while read dbname
do
############################################
echo $dbname
if [! -d”$dbackpath/$date/$dbname”];then
mkdir -p $dbackpath/$date/$dbname
fi

$cm -e “use $dbname show tables;”|grep -vE”(Tables_in|general_log|slow_log)” Table_in  >  $dbackpath/table_list


############################################
while read tablename
do
#echo $tablename
#$dm$dbname$tablename -R –events --triggers >$dbackpath/$date/$dbname/$
{tablename}.sql

$dm$dbname$tablename -R –events -- triggers > $dbackpath/$date/$dbname/$tablename
.sql

done  < $dbackpath/table_list


############################################
done  <  $dbackpath/db_list

rm -rf $dbackpath/db_list
rm -rf $dbackpath/table_list
#ls -a /var/lib/mysql/mysql-bin* |grep -v mysql-bin.index|sort|head -1|awk’{print$5,$9}’|awk-F ‘/’’{printf $1,$5}’> $dbakpath_$date_position.txt
#
#cm -e “unlock tables;”
mysql备份.PartI.pdf

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

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

相关推荐

  • Linux中账号管理之权限管理(下)

    linux中的账号管理我们在前面两张已经介绍了一些用户和组的相关概念,常用的配置文件,命令的使用。现在我们来看看账号管理中最傲娇的部分就是我们的权限管理。 一、简单介绍权限的概念 以install.log这个文件为例,查看install.log的元数据,从下图可以看出,每个文件或者目录都有它的所属的主和所属组,最左边显示不仅有它所属类型,还有它的读取写入执行…

    Linux干货 2016-08-08
  • http协议

    ##socket套接字– 套接字,进程间通信IPC的一种实现,允许位于不同主机(或同一主机)上不同进程之间进行通信和数据交换。– socketAPI:封装了内核中所提供的socket通信相关的系统调用– socketDomain:根据其所使用的地址– AF_INET:Address Family,Ipv4&#8…

    Linux干货 2017-12-06
  • ​源码编译安装LNMP

    源码编译安装LNMP 环境:CentOS6.6 IP: 172.16.10.10/16 GW:172.16.0.2 主机名称: lnmp.test.net 一、常规设置: 网卡: 临时 ifconfig eth0 172.16.10.10/16 up 永久 [root@www ~]# vim /etc/sysconfig/network-scripts/if…

    Linux干货 2016-11-14
  • 图解LVM(逻辑卷管理)

    图解LVM 1 什么是LVM?为什么要使用LVM? lvm(Logical Volume Manager)逻辑卷管理,是一种更为灵活弹性的磁盘管理工具。 通过逻辑卷管理,能够解决传统磁盘管理管理困难的问题,比如灵活的增删磁盘容量,增删磁盘分区等。 LVM由pv(Physical Volume),vg(Volume Group),lv(logical volu…

    2017-04-23
  • yum详解

    yum YUM: Yellowdog Update Modifier,rpm的前端程序,用来解决软件包相关依赖性,可以在多个库之间定位软件包,up2date的替代工具 yum repository: yum repo,存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下) yum对软件包的管理机制 —–引用了…

    Linux干货 2016-08-25
  • 第一周作业

    1. 描述计算机组成及其功能 说到计算机组成,就必须提及计算机之父冯洛伊曼先生。是他早年最先提出了计算机体系结构的设想,并沿用至今。 计算机由五大基本组件组成: 运算器 进行算术运算和逻辑运算的主要部件; 控制器 控制器从存储器中逐条取出指令、分析指令,然后根据指令要求产生一系列命令,控制计算机各部件; 存储器 分为内存和外存,…

    Linux干货 2016-12-02