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终端类型

    目录 1. 终端概述 2. 串行端口终端(/dev/ttySn) 3. 伪终端(/dev/pty/) 4. 控制终端(/dev/tty) 5. 控制台终端(/dev/ttyn, /dev/console) 6. 虚拟终端(/dev/pts/n) 7. 其它类型   终端概述 终端…

    Linux干货 2016-10-18
  • 8.网络基础知识

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥:网桥就是把2个不同的网段桥接起来;可隔离冲突域。 集线器:集线器就是把多根以太网线或光纤集合连接在同一段物理介质下的装置;工作在物理层;不能隔离冲突域。 二层交换机:工作于OSI模型的第2层(数据链路层),故而称为二层交换机。二层交换技术的发展已经比较成熟,二层交换机属数据…

    Linux干货 2017-08-21
  • Linux交换分区的创建和调整

    概述 本文对swap进行简要介绍,以及系统安装后(在运行中)如何建立或调整swap分区。 文中演示环境为: 什么是swap space? 交换分区,即swap space。它将某段磁盘空间独立划分出来,当物理内存不够的情况下,系统先把物理内存中暂时不用的数据,暂存到交换空间,腾出内存空间来,以保证程序的运行;当swap中存储的页面被访问到时,系统会将其重新载…

    Linux干货 2016-08-30
  • linux 逻辑卷管理

    lvm介绍:     lvm:全称Logical Volume Manager,重点在于可以弹性调整filesystem 容量,并非在于数据安全     lvm:整合多个分区或者磁盘为一个整体,让分区看起来想一个整体。     lvm:设备…

    Linux干货 2016-09-01
  • Linux第二周学习博客作业

    对第二周学习的内容进行总结

    Linux干货 2017-12-10
  • OpenStack之keystone

    一、什么是OpenStack    OpenStack是一种云操作系统,它控制着一个数据中心里大量的计算、存储和网络资源。管理员在一个web界面内通过仪表盘方便地管理,控制,授权用户,以提供各种资源。 二、云服务分类 可分为IAAS, PAAS, SAAS等 IAAS:Infrastructure as a Service (操作系统级别…

    Linux干货 2017-01-19