当前位置:首页 > Mysql教程 > 列表

mysql中利用mysqldump命令备份还原数据库

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-28 14:20:06 浏览: 评论:0 

mysqldump命令是mysql中一个非常不错的数据库操作命令,他可以对数据库进行备份与还原,同时几乎所有数据库命令备份都会用到它,下面我来介绍一下mysqldump一些用法。

一、常用操作:

备份整个数据库

格式:mysqldump -h主机名  -P端口 -u用户名 -p密码 (–database) 数据库名 > 文件名.sql

mysqldump -h{hostname} -P{port} -u{username} -p{password} {databasename} > {backupfile.sql}

例如,代码如下:

mysqldump -hlocalhost -P3306 -uzhuchao -p123456 db_test > backfile1.sql

备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库.

格式:mysqldump -–add-drop-table -u{username} -p{password} {databasename} > {backfile.sql}

例如,代码如下:mysqldump -–add-drop-table –uzhuchao -p123456 db_test > backfile2.sql

直接将MySQL数据库压缩备份

格式:mysqldump -h{hostname} -u{username} -p{password} {databasename} | gzip > {backfile.sql.gz}

例如,代码如下:mysqldump –hlocalhost –uzhuchao –p123456 db_test1 | gzip > backfile3.sql.gz

备份MySQL数据库某个(些)表

格式:mysqldump -h主机名  -P端口 -u用户名 -p密码 (–tables | –quick) 数据库名 表名1 (表名2 …) > 文件名.sql (括号中的可缺省)。

mysqldump -h{hostname} (-P{port}) -u{user} -p{password} (–tables | –quick) {databasename} {table1} {table2} > {backfile.sql}

例如,代码如下:

  1. mysqldump -hlocalhost -uzhuchao -p123456 db_test tbl_test > backfile4-1.sql 
  2. mysqldump -hlocalhost -P3306 -uzhuchao -p123456 db_test tbl_test > backfile4-2.sql 
  3. mysqldump -hlocalhost -P3306 -uzhuchao -p123456 --quick db_test tbl_test > backfile4-3.sql//phpfensi.com
  4. mysqldump -hlocalhost -P3306 -uzhuchao -p123456 --tables db_test tbl_test1 tbl_test2 > backfile4-4.sql 

同时备份多个MySQL数据库

格式:mysqldump -h{hostname} (-P{port}) -u{username} -p{password} –databases {databasename1} {databasename2} {databasename3} > multibackfile.sql

例如,代码如下:

mysqldump -hlocalhost -uzhuchao -p123456 –databases db_test1 db_test2 db_test3 > multibackfile.sql

仅仅备份数据库结构

格式:mysqldump –no-data –databases {databasename1} {databasename2} > {structurebackfile.sql}

例如,代码如下:

mysqldump –no-data –databases db_test1 db_test2 > structurebackfile.sql

备份服务器上所有数据库

格式:mysqldump –all-databases > allbackupfile.sql

还原MySQL数据库的命令

格式:mysql -h{hostname} -u{username} -p{password} {databasename} < {backfile.sql}

例如,代码如下:

mysql -hlocalhost -uroot -p123456 db_test4 < back_file1.sql

还原压缩的MySQL数据库

格式:gunzip < {backfile.sql.gz} | mysql –u{username} –p{password} {databasename}

例如,代码如下:

gunzip < backfile.sql.gz | mysql –uzhuchao –p123456 db_test5

将数据库转移到新服务器:mysqldump –u{username} –p{password} {databasename} | mysql –host=*.*.*.* –C {databasename}

二、其他:

1、如果端口为默认的3306时,可省略 -P {端口号} 这一项。

2、命令行格式中 { } 中的内容都是变量

主机名:{hostname}

端   口:{port}    (一般默认3306,可缺省)

用户名:{user} {username} (如root)

密   码:{password}

数据库名:{databasename}

表   名:{table}  {table1}  {table2}

文件名:{backfile.sql}

Tags: mysqldump mysql命令备份

分享到: