-n, --no-create-db #
-t ,--no-create-info #只导出数据
-d,--no-date # 只导出结构
xx大亨2服2个表的数据给我就行了
只有结构
mysqldump -uroot -p --default-character-set=utf8 -d gamebto_s2 bto_u_poweraction >bto_u_poweraction.sql
mysqldump -uroot -p --default-character-set=utf8 -d gamebto_s2 bto_u_poweraction2 >bto_u_poweraction2.sql
导出数据不导出结构
mysqldump -t 数据库名 -uroot -p > xxx.sql
##结构和数据
mysqldump -uroot -p --default-character-set=utf8 gamebto_s2 bto_u_poweraction >bto_u_poweraction.sql
mysqldump -uroot -p --default-character-set=utf8 gamebto_s2 bto_u_poweraction2 >bto_u_poweraction2.sql
导出特定表的结构
mysqldump -uroot -p -B数据库名 --table 表名 > xxx.sql
导入数据:好像线上用这个很少
#mysql 数据库名 < 文件名
#source /tmp/xxx.sql
数据导入导出 这个讲得很不错,有空看看哦
http://www.taobaodba.com/html/558_loaddata.html
MySQL mysqldump排除指定表的shell这个也很有意思 哈哈
http://my.oschina.net/huzorro/blog/74132
表名固定
#!/bin/sh
for j in `mysql -uroot -e “USE spservice;SHOW TABLES” | grep -v Tables`
do
case $j in
mo_log|mt_log|report_info)
:
;;
*)
mysqldump -uroot –default-character-set=gbk –opt spservice $j >> $j.sql
esac
done
表名不固定
#!/bin/sh
for j in `mysql -uroot -e “USE spservice;SHOW TABLES” | grep -v Tables`
do
for i in “$@”
do
if [ $j != $i ];then
mysqldump -uroot –default-character-set=gbk –opt spservice $j >> $j.sql
fi
done
done
更简洁的方法
#!/bin/sh
for j in `mysql -uroot -e “USE spservice;SHOW TABLES” | grep -v Tables`
do
echo $@ | grep -wq “<$j>”
if [ $? -ne 0 ];then
mysqldump -uroot –default-character-set=gbk –opt spservice $j >> $j.sql
fi
done
使用方法
sh exclude.sh mo_log mt_log report_log
#定义一个shell数组
tables=(mo_log mt_log report_log)
sh exclude.sh ${tables[@]}
参考
http://blog.csdn.net/jibing57/article/details/7695889