命令行执行mysqldump
mysqldump -uuser -pPassword dbname
table [option] > xx.sql;
mysqldump
• Mysqldump常用参数:
• --all-databases , -A 导出全部数据库
• --add-drop-database 每个数据库创建之前添加drop数
据库语句
• --no-data, -d 不导出任何数据,只导出数据库表结构。
• --no-create-db, -n只导出数据,而不添加
CREATE DATABASE 语句。
• --no-create-info, -t 只导出数据,而不添加
CREATE TABLE 语句。
mysqldump
• 导出所有数据库的所有表数据
• mysqldump -ulepus -p123456 -A > /tmp/all.sql
• 导出bugfree数据库中所有数据,不包括表结构
• mysqldump -ulepus -p123456 bugfree -n -t > a.sql
• 导出bugfree数据库中所有的表结构,不包括数据
• mysqldump -ulepus -p123456 bugfree -d > b.sql
• 导出bugfree数据库中所有的bug信息
• mysqldump -ulepus -p123456 bugfree bf_bug_info -
n -t > bug.sql
恢复数据
• 恢复刚才备份的bugfree数据库中的数据
• mysql –ulepus –p123456 bugfree < bugfree.sql
• 恢复刚才备份的所有数据库的数据
• mysql –ulepus –p123456 < all.sql
• 这种方式除了恢复数据还可以用来批量执行sql,比如
说有一个比较大的sql文件需要执行,在可视化工具中打开
再去执行就比较麻烦,可以使用这种方式来执行。
自动备份shell:
#!/bin/bash
file_name=`date +%Y%m%d%H%M%S`
db_path='/usr/local/db_back/'
mysqldump -ulepus -p123456 -A >
${db_path}${file_name}_all.sql
echo "backup ok