`

mysqldump导入导出mysql数据库

阅读更多

数据库的基本导入\导出的命令 是 mysqldump 和 source 
在linux下直接用命令行操作就可以 在windows下 一般情况下有两种方法一个也是用命令行 另一个是用phpmyadmin
 
先来说说phpmyadmin 这个工具导出和导入很简单 而且导入时无需建库 直接还原成原来的数据库   用source  也可以还原 但他导入文件时有大小限制不能超过2M
再来说说  mysqldump 和 source  用命令操作很快 但是想把导出的文件再导入时必须先建立一个数据库(这个库可以随便起名) 然后进入数据库后才能导入用phpmyadmin导入mysqldump 导出的文件也得需要这步
 
下面是从前辈那copy来的命令具体使用方法
 
     1.导出整个数据库
  mysqldump -u 用户名 -p 数据库名 > 导出的文件名
  mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
  2.导出一个表
  mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
  mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
  3.导出一个数据库结构
  mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
  -d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
  
备忘: mysqldump在linux下可直接使用 在windows下有时需要进入mysql/bin中使用 因为有时用的是类似appserv的套装软件 这样的话命令就不能直接使用 因为这些命令没在环境变量的目录里 而且用mysqldump导出的备份 必须先建立数据库才能导入
 
 
      4.导入数据库
  常用source 命令
  进入mysql数据库控制台,
  如mysql -u root -p
  mysql>use 数据库
  然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
  mysql>source d:wcnc_db.sql
 
 
存疑: phpmyadmin导入有大小限制 不知道source导入时有没限制 而且导出时是不可以限制文件大小 并且分数个文件导出

 

 

 

mysqldump是备份mysql数据库的一种好工具。它相对于用phpmyadmin等备份工具更加快速,又避免受php.ini等的限制,在windows系统下还可以结合计划任务实现定时远程备份数据库。

操作用mysqldump备份数据库的用户需要的权限比较小,只需要select和lock table的权限就足够了。所以可以创建一个备份数据库的用户,专门用于备份数据库,这样可以避免数据库受到意外的破坏。

在备份数据库之前我们要做足准备功夫,首先创建了执行备份操作的数据库用户——backup,密码为:123456。其次,确定我们要备份哪个数据库,放在哪里。然后,确定数据库的备份文件要放到哪里。

假设我们的任务是要备份一个位于192.168.1.2服务器上,名称为backup_test的数据库,并把备份文件放到D:\bak\的文件夹中。又假设我们的操作系统为windows xp,于是我们可以用以下的方法执行备份操作:

我们可以使用windows自带的命令提示符(调用命令提示符的方法有多种,最常用的就是点击开始菜单,选择“运行”,输入cmd的命令就可以启动了),在命令提示符中输入以下命令:

mysqldump -ubackup -p123456 -h 192.168.1.2 backup_test > D:\bak\bakcup.sql

在这段命令中:

mysqldump 是myqldump的程序名了;

-u 是数据库的用户名,后面紧跟着用户名backup;

-p 是数据库的密码,后面同样紧跟着密码,注意是-p和密码之间不能有空格;

-h 是数据库的地址,如果没有此项表明是备份本地的数据库;

backup_test 要备份的数据库名称;

> 表明该数据库备份到后面的文件,紧跟当然是备份文件的地址了,注意要用绝对文件路径,文件的后缀也可以用.txt。

一旦执行该命令后,mysqldump立即执行备份操作。远程备份数据库要似乎网络的情况,一般远程备份需要一定的时间的。

如果把这个命令写成批处理文件,通过windows的计划任务可以实现定时备份数据。

在windows下用mysqldump备份数据库,因为没有gzip的压缩引擎,因此不能对备份数据库进行压缩,因此如果备份文件多了要经常清理过期的数据库备份文件。

 

如果给出的信息室1044,则表示你没有足够的权限来备份服务器上的数据库。

 

下面详细讲解mysqldump所带的可选参数:

基本用法是:

mysqldump [OPTIONS] database [tables]

如果你不给定任何表,整个数据库将被导出。

通过执行mysqldump --help,你能得到你mysqldump的版本支持的选项表。

注意,如果你运行mysqldump没有--quick或--opt选项,mysqldump将在导出结果前装载整个结果集到内存中,如果你正在导出一个大的数据库,这将可能是一个问题。

mysqldump支持下列选项:

--add-locks

在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE。(为了使得更快地插入到MySQL)。

--add-drop-table

在每个create语句之前增加一个drop table。

--allow-keywords

允许创建是关键词的列名字。这由在列名前面加表名的方法做到。

-c, --complete-insert

使用完整的insert语句(用列名字)。

-C, --compress

如果客户和服务器均支持压缩,压缩两者间所有的信息。

--delayed

用INSERT DELAYED命令插入行。

-e, --extended-insert

使用全新多行INSERT语法。(给出更紧缩并且更快的插入语句)

-#, --debug[=option_string]

跟踪程序的使用(为了调试)。

--help

显示一条帮助消息并且退出。

--fields-terminated-by=...

--fields-enclosed-by=...

--fields-optionally-enclosed-by=...

--fields-escaped-by=...

--fields-terminated-by=...

这些选择与-T选择一起使用,并且有相应的LOAD DATA INFILE子句相同的含义。

LOAD DATA INFILE语法。

-F, --flush-logs

在开始导出前,洗掉在MySQL服务器中的日志文件。

-f, --force,

即使我们在一个表导出期间得到一个SQL错误,继续。

-h, --host=..

从命名的主机上的MySQL服务器导出数据。缺省主机是localhost。

-l, --lock-tables.

为开始导出锁定所有表。

-t, --no-create-info

不写入表创建信息(CREATE TABLE语句)

-d, --no-data

不写入表的任何行信息。如果你只想得到一个表的结构的导出,这是很有用的!

--opt

同--quick --add-drop-table --add-locks --extended-insert --lock-tables。

应该给你为读入一个MySQL服务器的尽可能最快的导出。

-pyour_pass, --password[=your_pass]

与服务器连接时使用的口令。如果你不指定“=your_pass”部分,mysqldump需要来自终端的口令。

-P port_num, --port=port_num

与一台主机连接时使用的TCP/IP端口号。(这用于连接到localhost以外的主机,因为它使用 Unix套接字。)

-q, --quick

不缓冲查询,直接导出至stdout;使用mysql_use_result()做它。

-S /path/to/socket, --socket=/path/to/socket

与localhost连接时(它是缺省主机)使用的套接字文件。

-T, --tab=path-to-some-directory

对于每个给定的表,创建一个table_name.sql文件,它包含SQL CREATE 命令,和一个table_name.txt文件,它包含数据。 注意:这只有在mysqldump运行在mysqld守护进程运行的同一台机器上的时候才工作。.txt文件的格式根据--fields-xxx和--lines--xxx选项来定。

-u user_name, --user=user_name

与服务器连接时,MySQL使用的用户名。缺省值是你的Unix登录名。

-O var=option, --set-variable var=option

设置一个变量的值。可能的变量被列在下面。

-v, --verbose

冗长模式。打印出程序所做的更多的信息。

-V, --version

打印版本信息并且退出。

-w, --where='where-condition'

只导出被选择了的记录;注意引号是强制的!

"--where=user='jimf'" "-wuserid>1" "-wuserid<1"

最常见的mysqldump使用可能制作整个数据库的一个备份:

mysqldump --opt database > backup-file.sql

但是它对用来自于一个数据库的信息充实另外一个MySQL数据库也是有用的:

mysqldump --opt database   mysql --host=remote-host -C database

由于mysqldump导出的是完整的SQL语句,所以用mysql客户程序很容易就能把数据导入了:

mysqladmin create target_db_name

mysql target_db_name < backup-file.sql 

分享到:
评论

相关推荐

    mysqldump导入导出mysql数据库.docx

    MySQL数据库的导入导出是数据库管理中的基础操作,通常用于备份、迁移或复制数据。`mysqldump` 和 `source` 是两个主要的命令,分别用于导出和导入数据。 **mysqldump命令详解** `mysqldump` 是MySQL提供的一个...

    linux下导入导出mysql数据库及其导出数据命令大汇总

    Linux 下 MySQL 数据库导入导出命令大汇总 Linux 作为一个广泛应用于服务器操作系统的平台,MySQL 作为一个流行的关系数据库管理系统,在 Linux 下的使用非常广泛。因此,掌握 Linux 下 MySQL 数据库的导入导出命令...

    MYSQL 数据库导入导出命令

    MYSQL 数据库导入导出命令 MySQL 数据库导入导出命令是数据库管理员和开发者经常使用的命令,用于将 MySQL 数据库导出到文件中,以便备份、还原或迁移到其他服务器。下面将详细介绍 MySQL 数据库导入导出的命令和...

    mysqldump命令导入导出数据库方法与实例汇总

    `mysqldump`是MySQL数据库管理系统中一个强大的工具,用于备份数据库或迁移数据。它能够生成SQL脚本,包含了创建数据库结构、插入数据等操作,使得数据可以在不同环境之间轻松转移。以下是对`mysqldump`命令的详细...

    java调用mysql命令 导入导出数据库

    在给定的标题“java调用mysql命令 导入导出数据库”中,我们可以理解为使用Java来执行MySQL的命令行工具,如`mysqldump`和`mysql`,来实现这些功能。下面将详细讲解如何在Java程序中调用这些命令。 首先,让我们...

    如何导入导出MySQL数据库

    首先,我们来看**SQL脚本形式**的导入导出方法,这是推荐的方式,因为它能确保在不同环境下保持兼容性。 **导出SQL脚本**: 1. 使用`phpMyAdmin`工具:在工具的导出选项中,确保选择“结构”和“数据”,避免勾选...

    如何导入导出mysql数据库

    ### 如何导入导出MySQL数据库 #### 1. 概述 MySQL数据库是目前非常流行的开源关系型数据库管理系统,广泛应用于各种规模的应用程序中。在实际应用过程中,常常需要进行数据库的备份与恢复操作,例如迁移数据库、...

    mysql数据库导入与导出(mysqldump与mysql).doc

    MySQL 数据库导入与导出(mysqldump 与 mysql) MySQL 数据库导入与导出是数据库管理员和开发人员经常需要面对的问题,mysqldump 和 mysql 是实现数据库导入与导出的两个常用工具。下面是相关的知识点: 1. ...

    mysql数据库的导入导出

    综上所述,MySQL数据库的导入导出操作,涉及到mysqldump工具和source命令的熟练使用,以及SQL语法中ALTER TABLE命令用于调整表结构。在操作过程中,还需要注意字符集的匹配问题,以及在多表查询时为派生表添加别名以...

    导入导出mysql数据

    知识点:MySQL 数据库的导入与导出操作及 Java 实现 在 IT 行业中,数据库的管理和维护是一项至关重要的工作。特别是在 MySQL 这样的流行关系型数据库管理系统中,数据的备份与恢复变得尤为重要。本篇文章将深入...

    MySQL数据库:数据的导入与导出.pptx

    数据库导入导出的作用 数据的导入与导出可以实现以下几个方面的作用: * 数据迁移:将数据从一个数据库迁移到另一个数据库,可以实现数据的迁移和备份。 * 数据共享:将数据共享给其他应用程序或系统,实现数据的...

    导入导出数据库 mysql

    ### 导入导出数据库 MySQL 快速上手 在日常的数据库管理工作中,经常会遇到需要备份或迁移数据的情况。MySQL 提供了多种工具来帮助我们进行数据的导入与导出,其中最常用的就是 `mysqldump` 命令。本篇文章将详细...

    MYSQL导入导出数据库命令

    当你有一个SQL文件并想将其内容导入到MySQL数据库中时,可以使用`mysql`客户端工具。假设你已经有了`mydatabase_backup.sql`文件,你可以使用以下命令来导入数据: ```bash mysql -u [username] -p[password] ...

    运行cmd状态下MySQL导入导出.sql文件

    ### MySQL在CMD状态下的导入与导出操作详解 ...以上步骤详细介绍了如何在CMD环境下进行MySQL的导入导出操作,并解决了导入文件大小限制的问题。这些操作对于数据库管理来说是非常实用且重要的技能。

    MySQL数据库导出与导入及常见错误解决.pdf

    mysqldump 命令用于将数据库导出到一个文件中,mysql 命令用于将备份的数据库文件导入到 MySQL 服务器中,source 命令用于将备份的数据库文件导入到 MySQL 服务器中。 例如,要备份名为 jluibmclub 的数据库,可以...

    mysql数据库大数据量导入导出多种方法

    mysql数据库大数据量导入导出多种方法,该文档详述SELECT * INTO和mysqldump导出方法。导入方法中包括导入sql,txt文件和load data三种方法

Global site tag (gtag.js) - Google Analytics