mysqldump常见用法详解
本文发布于 12 年前, 内容可能已经过时或失效!
MySQL的mysqldump命令
基本用法是:
```
mysqldump [OPTIONS] database [tables]
```
## 说明:
1. 通过执行mysqldump --help,你能得到你mysqldump的版本支持的使用帮助信息。
2. 如果端口为默认的3306时,可省略 -P {端口号} 这一项。
3. 命令行格式中 { } 中的内容都是变量
主机名 : {hostname}
端 口:{port} (一般默认3306,可缺省)
用户名:{user} {username} (如root)
密 码:{password}
数据库名 :{database}
表 名:{table} {table1} {table2}
文件名:{backup.sql}
## 常用操作:
备份MySQL整个数据库:
```
mysqldump -h主机名 -P端口 -u用户名 -p密码 (–database) 数据库名 > 文件名.sql
mysqldump -h{hostname} -P{port} -u{username} -p{password} {database} > {backup.sql}
```
**说明:** 参数及值可以分开如-P3306可以写成-P 3306,密码可以先不填写,以确保安全。
**MySQL数据库压缩备份:**
```
mysqldump -h{hostname} -u{username} -p{password} {database} | gzip > {backup.sql.gz}
```
备份MySQL数据库某个(些)表:
```
mysqldump -h主机名 -P端口 -u用户名 -p密码 (–tables | –quick) 数据库名 表名1 (表名2 …) > 文件名.sql (括号中的可缺省)。
```
#实例:
```
mysqldump -u root -p myadmindb admin_group admin_group_right admin_logs admin_user_right admin_users > tmp.sql
```
**同时备份多个MySQL数据库:**
```
mysqldump -h{hostname} -P{port} -u{username} -p{password} –databases {database1} {database2} {database3} > multibackfile.sql
```
还原MySQL数据库的命令:
```
mysql -h{hostname} -u{username} -p{password} {database} < {backup.sql}
```
还原压缩的MySQL数据库:
```
gunzip < {backup.sql.gz} | mysql –u{username} –p{password} {database}
```
将数据库转移到新服务器:
```
mysqldump –u{username} –p{password} {database} | mysql –host={hostname} –C {database}
```