利用mysqldump备份数据库

mysqldump是sql级别的备份机制,它将数据表导成sql脚本文件,是非常常用的备份方法。

下面整理了mysqldump的用法和几个常用参数。

基本用法:

mysqldump -u用户名 -p密码 -h主机 数据库 表 > 文件名

如果想导出整个库,不加表名即可。

例:

mysqldump -uroot -h10.1.153.23 achievement black > black.dump


常用选项:
1.  --all-databases 
导出所有数据库
例:

mysqldump -uroot -h10.1.153.23 --all-databases > all.dump


2. --default-character-set=name 
设置默认字符集
导入导出时最好都加上这个选项,我就遇到过在不同版本的mysql间导数据,因为没有加此选,导入时提示sql有语法错误的情况。
例:

mysqldump -uroot -h10.1.153.23 --default-character-set=utf8 achievement black > black.dump


3. --complete-insert 
导出的数据采用包含字段名的完整INSERT方式。
例:
如果在不加该选项时,导出数据中的一条是如下形式:

INSERT INTO `category` VALUES (1,'动作','2012-07-20 04:12:23');

加了该选项后,此数据在dump文件中的形式如下:

INSERT INTO `category` (`id`, `name`, `ctime`) VALUES (1,'动作','2012-07-20 04:12:23');

可能的应用场景:
A库中category表的数据导入B库,但B库的category表新加了validate字段。此时,A库的category表在mysqldump时如果不加--complete-insert选项则无法导入Bcategory表,会提示列数不同的错误。

 

4. --no-create-info 
只导出数据,而不添加CREATE TABLE语句

 

5. --where

where条件导出数据
例:

mysqldump -uroot -h10.1.153.22 hao_game category --where "validate=2"

只导出validate2的数据。

 
6. --no-data
只导出建表语句,不导数据。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值