标签:参数 /usr trigger 基础 sql reload net ash head
逻辑备份和物理备份
逻辑备份结果为SQL语句 适合于所有存储引擎 mysqldump
物理备份对数据库目录的拷贝 对于内存表之备份结构
全量备份 对整个数据库的完整备份
增量备份 上次全量或者增量备份基础上 对于更改数据进行备份 XtraBack
常用语法
mysqldump [OPTIONS] database [tables]
mysqldump [OPTIONS] --database [OPTIONS] DB1 [DB2..]
mysqldump [OPTIONS] --all-database [OPTIONS]
mysqldump常用参数
-u,--user=name
-p,--password[=name]
SELECT,RELOAD,LOCK TABLES,REPLICATION CLIENT,SHOW VIEW,PROCESS
--single-transaction //对innodb有效 数据库一致性
-l,--lock-tables //依次锁定 某一个db所有表数据一致性
-x,--lock-all-table //所有数据备份时候只读
--master-data=[1/2]
存在触发器 存储过程 调度事件要加参数
-R,--routines
--triggers
-E,--events
--hex-blob //对数据中blog16进制保存
-tab=path //存储表结构加数据
-w,--where=‘过滤条件‘
Where只支持单表
grep "CREATE TABLE" szyqbbsdb.sql //查看表
mysqldump -ubackup -p123456 --master-data=2 --single-transaction --routines --triggers --events szyqbbs bbs_user_info > szyqbbsdb_userinfo.sql
mysqldump -ubackup -p123456 --master-data=2 --single-transaction --routines --triggers --events --all-databases > alldata.sql
chown mysql:mysql szyqbbsdb //改变目录用户为mysql用户 这样mysql用户才能写入数据
mysqldump -ubackup -p123456 --master-data=2 --single-transaction --routines --triggers --events --where "cid>100 and cid<200" szyqbbs bbs_card> szyqbbsdb_card_100_200.sql
#!/bin/bash
###############Basic parameters##########################
DAY=`date +%Y%m%d`
Environment=$(/sbin/ifconfig | grep "inet addr" | head -1 |grep -v "127.0.0.1" | awk ‘{print $2;}‘ | awk -F‘:‘ ‘{print $2;}‘)
USER="backup"
PASSWD="123456"
HostPort="3306"
MYSQLBASE="/home/mysql/"
DATADIR="/home/www/data/db_backup/${DAY}"
MYSQL=`/usr/bin/which mysql`
MYSQLDUMP=`/usr/bin/which mysqldump`
mkdir -p ${DATADIR}
Dump(){
${MYSQLDUMP} --master-data=2 --single-transaction --routines --triggers --events -u${USER} -p${PASSWD} -P${HostPort} ${database} > ${DATADIR}/${Environment}-${database}.sql
cd ${DATADIR}
gzip ${Environment}-${database}.sql
}
for db in `echo "SELECT schema_name FROM information_schema.schemata where schema_name not in (‘information_schema‘,‘sys‘,‘performance_schema‘,‘abgent_web_20‘)" | ${MYSQL} -u${USER} -p${PASSWD} --skip-column-names`
do
database=${db}
Dump
done
1.参数意义
DAY 当前备份日期
Environment 主机IP
MYSQLBASE 备份目录
DATADIR 当前备份子目录
for db in //排除一些数据库如information_schema
标签:参数 /usr trigger 基础 sql reload net ash head
原文地址:http://www.cnblogs.com/weizaiyes/p/7865267.html