mysql运维管理-mysqldump 备份与恢复数据库20
mysqldump 备份与恢复数据库
备份:
1、备份全部数据库的数据和结构
mysqldump -uroot -pjsb -A > /bk/all.sql
-A: 备份所有数据库=--all-databases
2、
备份全部数据库的结构(加 -d 参数)
mysqldump -uroot -p123456 -A -d > F:\all_struct.sql
-A: 备份所有数据库=--all-databases --no-data, -d:只导出表结构
4.备份单个数据库的数据和结构(,数据库名mydb)
mysqldump -uroot-p123456 mydb>F:\mydb.sql
5.备份单个数据库的表结构(不备份实际数据)很快
mysqldump -uroot -p123456 mydb -d > F:\mydb.sql
--no-data, -d:只导出表结构
7.备份多个表的数据和结构(数据,结构的单独备份方法与上同)(一次备份多个表)
mysqldump -uroot -p123456 mydb t1 t2 > f:\multables.sql
8.一次备份多个数据库
mysqldump -uroot -p123456 --databases db1 db2 > f:\muldbs.sql
mysqldump -uroot -pjsb-B bk0 bk1 > bk01.sql (和上面相等结果)
--databases, -B: 用于备份多个数据库,如果没有该选项,mysqldump把第一个名字参数作为数据库名,后面的作为表名。使用该选项,
1.导出结构不导出数据
mysqldump -d 数据库名 -uroot -p > xxx.sql
2.导出数据不导出结构
mysqldump -t 数据库名 -uroot -p > xxx.sql
3.导出数据和表结构
mysqldump 数据库名 -uroot -p > xxx.sql
4.导出特定表的结构
mysqldump -uroot -p -B数据库名 --table 表名 > xxx.sql
还原-恢复:
还原全部数据库2方法:(需要数据库的备份集)
(1)mysql命令行source方法
(1) mysql命令行:source 备份集路径/备份集名字.sql
(2)系统命令行方法
(2) 系统命令行: mysql -u账号 -p密码 < 备份集路径/备份集名字.sql
1.还原单个数据库(需指定数据库的备份集)
mysql命令行source方法:如下
mysql -uroot -pjsb
cd 进入 你存放恢复脚本(或者备份集目录)下
use mydb
source f:\备份集名字.sql
系统命令行方法:如下(推荐)
mysql -uroot -p123456 mydb < f:\mydb.sql
2.还原单个数据库的多个表(需要单个数据库的多个表的备份集)
mysql命令行source方法:如下
use mydb
cd 进入 你存放恢复脚本(或者备份集目录)下
source 备份集路径/备份集名字.sql
系统命令行方法:如下(推荐)
mysql -uroot -p123456 mydb < f:\multables.sql
4.还原多个数据库,(一个备份文件里有多个数据库的备份,此时不需要指定数据库)
mysql命令行:
source f:\muldbs.sql
系统命令行:(推荐)
mysql -uroot -p123456 < 备份集路径下/备份集名字.sql
mysql -uroot -pjsb < bk01.sql
姊妹篇:
http://blog.csdn.net/u010098331/article/details/50896175
常见选项:
--all-databases, -A: 备份所有数据库
--databases, -B: 用于备份多个数据库,如果没有该选项,mysqldump把第一个名字参数作为数据库名,后面的作为表名。使用该选项,mysqldum把每个名字都当作为数据库名。
--force, -f:即使发现sql错误,仍然继续备份
--host=host_name, -h host_name:备份主机名,默认为localhost
--no-data, -d:只导出表结构
--password[=password], -p[password]:密码
--port=port_num, -P port_num:制定TCP/IP连接时的端口号
--quick, -q:快速导出
--tables:覆盖 --databases or -B选项,后面所跟参数被视作表名
--user=user_name, -u user_name:用户名
--xml, -X:导出为xml文件
摘抄:
导入数据:
由于mysqldump导出的是完整的SQL语句,所以用mysql客户程序很容易就能把数据导入了:
MySQL存储过程迁往另一Linux操作系统下的MySQL数据库,因为表结构等已经在目标数据库中存在了, 不想直接拷贝数据库过去,所以用到了 MySQL的存储过程导出和导入,经上网搜索发现用Mysqldump工具可以实现,具体用法为:
mysqldump -uroot -p -hlocalhost -P3306 -n -d -t -R DBName > procedure_name.sql