您的位置:首页 > 数据库 > MySQL

备份

2016-05-17 16:13 453 查看
Mysql备份:
库备份1)库的备份[root@localhost /]# mysqldump -uroot -p db2 > /db2.sql 库名 导出来的文件库的还原[root@localhost /]# mysql -uroot -p db2 < /db2.sql 得提前创建好db2库2)库的备份mysqldump -uroot -p123456 -B test > /tmp/test_B.sql 作用是在导出的文件中添加建库和切换库的语句。
库名 导出来的文件

(mysqldump -uroot -p123456 -B test|gzip > /tmp/test_B.sql.gz 备份时压缩备份文件
备份多个库:
mysqldump -uroot -p123456 -B mysql zhang | gzip > /tmp/mul_B.sql.gz)

多个库
库的还原:
mysql -uroot -p123456 < /tmp/test_B.sql 因此还原时不用提前创建好库并不用指定库名。
分库备份:
cat fenkubak.sh
#!/bin/sh
for dbname in `mysql -uroot -p123456 -e "show databases" | grep -Evi "database|information_schema|mysql"`
do
mysqldump -uroot -p123456 -B --events $dbname|gzip > /tmp/${dbname}.sql.gz 金庸新著
done
表备份:1)表的备份[root@localhost /]# mysqldump -u root -p db2 user > db2_user.sql 库名 表名 导出来的文件名(导出到当前目录下)表的还原:(先切换库,再还原)mysql>use dbmysql>source /db2_user.sql2)多个表备份mysqldump -uroot -p123456 zhang t1 ming > /tmp/two_table.sql
库 多个表
表的还原:(先切换库,再还原)
mysql>use db
mysql>source /tmp/two_table.sql

分库分表备份:

#!/bin/sh
USER=root
PASSWD=onetwothree
SOCKET=/data/3306/mysql.sock
MYLOGIN="mysql -u$USER -p$PASSWD -S$SOCKET"
MYDUMP="mysqldump -u$USER -p$PASSWD -S$SOCKET"
DATEBASE="$($MYLOGIN -e "show databases;"|egrep -vi "Data|_schema|mysql")"
for dbname in $DATEBASE
do
TABLE="$($MYLOGIN -e "use $dbname;show tables;"|sed '1d')"
for tname in $TABLE
do
MYDIR=/server/backup/$dbname/${dbname}_$(date +%F)
[ ! -d $MYDIR ] && mkdir -p $MYDIR
$MYDUMP $dbname $tname |gzip >$MYDIR/${dbname}_${tname}_$(date +%F).sql.gz
done
done
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  备份 mysql 库表