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

MYSQLDUMP的小结

2015-06-08 17:31 666 查看
mysqldump用于数据库备份
1)处于性能来说mysqldump比较适合innodb的备份,而MYISAM比较适合mysqlhotcopy

mysqldump备份数据有两种备份方式:把全表先放进缓存区再备份;一行一行备份(不经内存缓存区)

2)mysqldump --opt(-mysqldump自己默认--opt,它自动使能--quick)一行一行备份不占缓存区,取消这种模式用--skip-quick。
3)常用写法:
shell> mysqldump [options] db_name [tbl_name ...]
shell> mysqldump [options] --databases db_name ...
shell> mysqldump [options] --all-databases
4)常用选项:
--opt(默认): 相当于添加了如下信息: --add-drop-table,--add-locks, --create-options, --disable-keys, - --extended-insert,--lock-tables, --quick, --set-charset.
--opt --skip-extended-insert --skip-quick:表示不备份extended-insert 和采用缓冲区其他opt自带的信息 都有。
--skip-opt --disable-keys --lock-tables:opt里的内容都没有,只有--disable-keys --lock-tables。

--compact : 相当于添加了如下信息:--skip-add-drop-table,--skip-add-locks, --skip-comments, --skip- disable-keys, --skip-set-charset options.
--dump-date(默认):在每一次备份后加评论(评论为备份日期),取消该默认请用:--skip-dump- date

--flush-logs, -F:备份前保存好日志

--ignore-table=db_name.tbl_name:忽略表(或视图),不备份多个表,请重复使用该语句多次

--order-by-primary:以主键或者unique index的顺序来备份每一行

--master-data[=value](value默认是1):以这种方式可以用产生的那个改变主机的文件来设定主机的从 机,如果value是2,那个change master to只是信息没有实际 操作的作用,如果value是1,那么reload备份数据时change master to 文件会起作用。(这里我还不是很懂哈,稍后补充哈)

--result-file=file_name, -r file_name:设定备份的目的文件,备份数据以覆盖的方式写入文件。

--single-transaction:备份却不改变INNODB表的任何状态,其他类型的表状态或许改变。

--where='where_condition', -w 'where_condition':条件备份(常用于指定表的指定行备份)
例如: --where="user='jimf'"
-w"userid>1"
-w"userid<1"

5)用法示例:
shell> mysqldump --all-databases --master-data=2 > all_databases.sql

Or:

shell> mysqldump --all-databases --flush-logs --master-data=2
> all_databases.sql
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql学习