|
蓝森林 http://www.lslnet.com 2006年8月26日 15:18
【备份】急求Mysql使用shell备份所有数据库得方法~~
要求:1、不要使用数据库文件夹打包的方式。
2、完全使用sh脚本;
谢谢!
|
【备份】急求Mysql使用shell备份所有数据库得方法~~
#!/bin/bash
MYSQL_CLIENT="/home/mysql/bin/mysql -uroot --default-character-set=gbk"
MYSQL_DUMP="/home/mysql/bin/mysqldump -d -uroot --default-character-set=gbk"
OUTPUT_PATH=/data/backup
for databases in `$MYSQL_CLIENT -e "show databases"|grep -v Database`
do
mkdir -p -m777 $OUTPUT_PATH/$databases/
$MYSQL_DUMP $databases >; $OUTPUT_PATH/$databases/$databases.sql
for tables in `$MYSQL_CLIENT -e "show tables" $databases|grep -v Tables_in_`
do
mv -f $OUTPUT_PATH/$databases/$tables $OUTPUT_PATH/$databases/$tables.old
$MYSQL_CLIENT -e "select * into outfile '$OUTPUT_PATH/$databases/$tables' from $tables" $databases
done
done
原理就是遍历所有库的所有表,在备份目录里面,再为每个库建立一个目录,包含一个建库语句,和每个表的数据文件,然后可以用load data infile 来导入到数据库里面。这种导法很快的。
我这里还没用gzip对数据文件进行压缩,大家可以继续完善。 |
【备份】急求Mysql使用shell备份所有数据库得方法~~
备份本来就不应该使用文件夹打包。 |
【备份】急求Mysql使用shell备份所有数据库得方法~~
这样不行的,MYSQL我看和还是停了数据库文件夹打包比较好。用那种导出数据的方式,怎么保证一致性? |
【备份】急求Mysql使用shell备份所有数据库得方法~~
| 【备份】急求Mysql使用shell备份所有数据库得方法~~
查一下,本版有一个原创精华帖,aspbiz写的,
支持多种备份方式. |
【备份】急求Mysql使用shell备份所有数据库得方法~~
非常感谢各位的回复,工作太忙刚看到。
尤其感谢ginew 的脚本 我马上就去试,谢谢! |
【备份】急求Mysql使用shell备份所有数据库得方法~~
mysqlhotcopy |
【备份】急求Mysql使用shell备份所有数据库得方法~~
mysqlhotcopy
_________________
给你的祝福,要让你招架不住!
http://yejr.blogchina.com
http://blog.www.lslnet.com/linux/index.php?blogId=82
楼上的说说MYSQLhotcopy 具体是怎么用啊!谢谢! |
【备份】急求Mysql使用shell备份所有数据库得方法~~
-->
真牛,不用保证一致性,恢复的时候怎么办?如果两个表,一个表的主键是另外一个表的外键,你先倒出了主键那个表的所有记录,但是没有停止应用。在到处外键的表之前添加新的记录,这个时候再到处那个有外键的表,等恢复的时候你怎么办?
MYSQL的ONLINE BACKUP本来就是一个问题。 |
【备份】急求Mysql使用shell备份所有数据库得方法~~
-->
备份只需要备出现有的数据就可以,实时运行的系统,哪能数据一致。
你停了数据库去备份,说明你根本没作过实时系统 |
【备份】急求Mysql使用shell备份所有数据库得方法~~
-->
扯淡。任何一个真正支持实时在线备份的数据都能做到备份出来的数据的一致性,你说这种话,只能说明你更本没有去做过真正象样子的OLTP数据库的实施。
之所以要停了数据库去备份,是因为MYSQL本身没有提供完善的ONLINE备份机制导致。就像DB2如果没有开logretain和userexit,也支持离线备份的道理是一样的。 |
【备份】急求Mysql使用shell备份所有数据库得方法~~
-->
MYSQL的ONLINE备份机制非常完善。
什么叫一致性?永远停了数据库,备份出数据,那肯定一致。
您好好看清楚我的话,再发言。让人感觉你精神崩溃了。
别激动,喝杯茶 :) |
【备份】急求Mysql使用shell备份所有数据库得方法~~
-->
停了当然一致,不停怎么一致?MYSQL不行你就认为所有数据库都不行?
看你的话就象一个搞数据库只搞懂了一般的人下的结论,呵呵。 |
【备份】急求Mysql使用shell备份所有数据库得方法~~
-->
没事说点疯话,很解闷?
mysql实时备份非常健全,为什么只有你说MYSQL不行?
而且我们只是在说mysql的备份。
你要非停数据库备份,又不会被枪毙,你停就是了 |
| |