由于重建从库的时候,刚开始我们可能不需要导出mysql表和information_schema 表,如果是三两个库的话,那还好,
现实情况是我的有些库里面的database 有几百个,之前有想到的做法是先都dump 出来后,再吧这几个库内容删掉。
这是从网上google 来的一个脚本:
MYUSERNAME=kris
MYPASSWORD=myPassword
MYHOST=database-server.mydomain.com
# Databases
to exclude
DBEXCLUDE=db_name_i_dont_want
MYSQL=$(mysql -N -u${USER} -p${PASS} -h${HOST} <<<"SHOW DATABASES" | grep -v ${DBEXCLUDE} | grep -v mysql | grep -v information_schema
| grep -v test | tr "\n" " ")
mysqldump -v -u${USER} -p${PASS} -h${HOST} --databases --skip-lock-tables ${MYSQL} > DB-DUMP.sql
改进:
MYSQL=$(mysql -N --socket=/diska/mysqldata/mysql.sock <<<"SHOW
DATABASES" | grep -v mysql | grep -v information_schema | grep -v test |sed -e
"s/^/&'/g" -e "s/$/&'/g" | tr "\n" " ")
我们平时也不用这么麻烦用脚本来吧,先试试看看mysql 的命令:
[root@kankan
~]# MYSQL=$(mysql
<<<"SHOW DATABASES" | grep -v mysql | grep -v information_schema | grep
-v test | tr "\n" " ")
[root@kankan ~]# echo $MYSQL
Database app_adv_statistics_20110825
backup c2c c2c2012 game
[root@kankan ~]#
这里MYSQL 变量多了一个Database,也记得要把这个拿掉哦
没有评论:
发表评论