目前 MySQL 支持的免费备份工具有:mysqldump、mysqlhotcopy,还可以用 SQL 语法进行备份:BACKUP TABLE 或者 SELECT INTO OUTFILE,又或者备份二进制日志(binlog),还可以是直接拷贝数据文件和相关的配置文件。MyISAM 表是保存成文件的形式,因此相对比较容易备份,上面提到的几种方法都可以使用。Innodb 所有的表都保存在同一个数据文件 ibdata1 中(也可能是多个文件,或者是独立的表空间文件),相对来说比较不好备份,免费的方案可以是拷贝数据文件、备份 binlog,或者用 mysqldump。
字串9
1、mysqldump
1.1 备份
mysqldump 是采用SQL级别的备份机制,它将数据表导成 SQL 脚本文件,在不同的 MySQL 版本之间升级时相对比较合适,这也是最常用的备份方法。现在来讲一下 mysqldump 的一些主要参数:
字串3
--compatible=name
它告诉 mysqldump,导出的数据将和哪种数据库或哪个旧版本的 MySQL 服务器相兼容。值可以为 ansi、mysql323、mysql40、postgresql、oracle、mssql、db2、maxdb、no_key_options、no_tables_options、no_field_options 等,要使用几个值,用逗号将它们隔开。当然了,它并不保证能完全兼容,而是尽量兼容。
字串5
--complete-insert,-c
导出的数据采用包含字段名的完整 INSERT 方式,也就是把所有的值都写在一行。这么做能提高插入效率,但是可能会受到 max_allowed_packet 参数的影响而导致插入失败。因此,需要谨慎使用该参数,至少我不推荐。 字串8
--default-character-set=charset
指定导出数据时采用何种字符集,如果数据表不是采用默认的 latin1 字符集的话,那么导出时必须指定该选项,否则再次导入数据后将产生乱码问题。 字串1
--disable-keys
告诉 mysqldump 在 INSERT 语句的开头和结尾增加 /*!40000 ALTER TABLE table DISABLE KEYS */; 和 /*!40000 ALTER TABLE table ENABLE KEYS */; 语句,这能大大提高插入语句的速度,因为它是在插入完所有数据后才重建索引的。该选项只适合 MyISAM 表。 字串2
--extended-insert = true|false
默认情况下,mysqldump 开启 --complete-insert 模式,因此不想用它的的话,就使用本选项,设定它的值为 false 即可。
字串1
--hex-blob
使用十六进制格式导出二进制字符串字段。如果有二进制数据就必须使用本选项。影响到的字段类型有 BINARY、VARBINARY、BLOB。
字串8
--lock-all-tables,-x
在开始导出之前,提交请求锁定所有数据库中的所有表,以保证数据的一致性。这是一个全局读锁,并且自动关闭 --single-transaction 和 --lock-tables 选项。 字串6
--lock-tables
它和 --lock-all-tables 类似,不过是锁定当前导出的数据表,而不是一下子锁定全部库下的表。本选项只适用于 MyISAM 表,如果是 Innodb 表可以用 --single-transaction 选项。 字串8
--no-create-info,-t
只导出数据,而不添加 CREATE TABLE 语句。
字串6
--no-data,-d
不导出任何数据,只导出数据库表结构。
字串9
--opt
这只是一个快捷选项,等同于同时添加 --add-drop-tables --add-locking --create-option --disable-keys --extended-insert --lock-tables --quick --set-charset 选项。本选项能让 mysqldump 很快的导出数据,并且导出的数据能很快导回。该选项默认开启,但可以用 --skip-opt 禁用。注意,如果运行 mysqldump 没有指定 --quick 或 --opt 选项,则会将整个结果集放在内存中。如果导出大数据库的话可能会出现问题。
字串9
--quick,-q
该选项在导出大表时很有用,它强制 mysqldump 从服务器查询取得记录直接输出而不是取得所有记录后将它们缓存到内存中。
字串5
--routines,-R
导出存储过程以及自定义函数。
字串7
--single-transaction
该选项在导出数据之前提交一个 BEGIN SQL语句,BEGIN 不会阻塞任何应用程序且能保证导出时数据库的一致性状态。它只适用于事务表,例如 InnoDB 和 BDB。本选项和 --lock-tables 选项是互斥的,因为 LOCK TABLES 会使任何挂起的事务隐含提交。要想导出大表的话,应结合使用 --quick 选项。
分享到:
相关推荐
MySQL提供了多种方式来进行数据的导入导出操作,这里分别介绍两种常用的方法。 第一种方法是使用 SELECT INTO OUTFILE 语句进行数据导出。这是MySQL中非常直接的一个数据导出技术,它能够把SELECT查询的结果导出到...
知识点:MySQL 数据库的导入与导出操作及 Java 实现 在 IT 行业中,数据库的管理和维护是一项至关重要的工作。特别是在 MySQL 这样的流行关系型数据库管理系统中,数据的备份与恢复变得尤为重要。本篇文章将深入...
在给定的标题“java调用mysql命令 导入导出数据库”中,我们可以理解为使用Java来执行MySQL的命令行工具,如`mysqldump`和`mysql`,来实现这些功能。下面将详细讲解如何在Java程序中调用这些命令。 首先,让我们...
### MySQL 数据导入与导出详解 #### 一、MySQL 数据导出 MySQL 提供了多种方式来导出数据,其中最常用的就是 `mysqldump` 命令。...希望本文能够帮助大家更好地理解和掌握 MySQL 数据导入导出的相关技巧。
### MySQL 数据库导入导出详解 #### 一、MySQL 导入到数据库 在实际工作中,经常需要将之前备份的数据重新加载到 MySQL 数据库中。MySQL 提供了多种方法来完成这一任务,主要包括使用 `mysql` 命令行工具和 `...
下面我们将详细介绍mysql导入导出的命令和参数。 mysqldump命令 mysqldump是mysql自带的一种工具,用于将数据库中的数据导出到一个文件中。它的基本语法如下: mysqldump -u[用户名] -h[ip] -p[密码] -P[端口号] ...
以上就是关于MySQL数据库导入导出命令的详细介绍。通过这些命令,我们可以方便地备份和恢复数据库,这对于日常的数据库管理来说非常重要。希望这些信息能够帮助你在实际工作中更好地管理和维护MySQL数据库。
### MySQL导入导出.sql文件详解 #### 一、MySQL命令行模式设置与基本命令介绍 在Windows环境下,要想顺利地通过命令行模式操作MySQL数据库,首先需要正确设置MySQL的环境变量。具体步骤如下: 1. **环境变量设置*...
在IT行业中,数据库...总之,熟练掌握MySQL的导入导出命令对于数据库管理员来说是必不可少的技能。通过`mysqldump`和`mysql`命令,你可以高效、灵活地管理和恢复数据库,同时结合脚本自动化这些流程,提高工作效率。
总结,使用PHP进行MySQL数据导入导出涉及到的知识点包括:PHP执行shell命令、PDO和MySQLi扩展的使用、`mysqldump`和`mysqlimport`工具、`SELECT INTO OUTFILE`和`LOAD DATA INFILE` SQL语句、数据分批处理、事务管理...
### MySQL在CMD状态下的导入与导出操作详解 ...以上步骤详细介绍了如何在CMD环境下进行MySQL的导入导出操作,并解决了导入文件大小限制的问题。这些操作对于数据库管理来说是非常实用且重要的技能。
总结来说,MySQL 的导入导出操作涉及使用 `mysqldump` 和 `mysql` 命令行工具,它们是数据库管理员日常维护的重要工具。正确理解和使用这些工具,可以有效地管理数据库,确保数据安全,并方便地进行数据迁移。同时,...
除了`.sql`文件,MySQL还支持其他格式的数据导入导出,如`.csv`(逗号分隔值)文件。使用`LOAD DATA INFILE`语句可以从`.csv`文件快速导入数据。例如: ```sql LOAD DATA INFILE 'data.csv' INTO TABLE tablename ...
### MySQL 数据导入导出详解 #### 一、概述 MySQL 是一种广泛使用的开源关系型数据库管理系统,因其高效、稳定及易用性等特点被广大开发者所青睐。在日常维护与管理MySQL数据库的过程中,数据的导入导出是一项基本...
### MySQL导入导出常用命令详解 #### 一、MySQL数据备份与恢复概述 在数据库管理过程中,数据的安全性至关重要。为了防止数据丢失或损坏,通常会定期对数据库进行备份,并在必要时将其恢复到系统中。MySQL提供了...
MySQL 数据导入导出是数据库管理中的重要操作,用于数据迁移、备份、恢复或者在不同环境间同步数据。本文主要介绍两种常见的MySQL数据导入导出方法:`SELECT INTO OUTFILE`语句和`mysqldump`实用程序。 1. **使用 `...
### MySQL命令行下的数据导出与导入 在数据库管理中,数据备份是非常重要的一个环节,尤其是在MySQL这样的关系型数据库管理系统中。通过命令行工具进行数据的导出与导入操作不仅高效,而且对于自动化运维有着非常...
综上所述,无论是通过图形化工具还是命令行,MySQL都提供了灵活且高效的方式来处理数据库的导入导出。理解并掌握这些方法对于数据库管理和维护至关重要,特别是对于需要定期备份、迁移或恢复数据的场景。了解和熟练...