首页 数据库 mysql教程 MySQL备份和恢复_MySQL

MySQL备份和恢复_MySQL

Jun 01, 2016 pm 01:54 PM
如何 工具 数据表

  讨论 MySQL 的备份和恢复机制,以及如何维护数据表,包括最主要的两种表类型:MyISAM 和 Innodb,文中设计的 MySQL 版本为 5.0.22。

  本文介绍的是使用MySQL自带免费备份工具备份,当然你可以选择一些更方便的第三方工具进行备份和恢复MySql数据库。

  目前 MySQL 支持的免费备份工具有:mysqldump、mysqlhotcopy,还可以用 SQL 语法进行备份:BACKUP TABLE 或者 Select INTO OUTFILE,又或者备份二进制日志(binlog),还可以是直接拷贝数据文件和相关的配置文件。MyISAM 表是保存成文件的形式,因此相对比较容易备份,上面提到的几种方法都可以使用。Innodb 所有的表都保存在同一个数据文件 ibdata1 中(也可能是多个文件,或者是独立的表空间文件),相对来说比较不好备份,免费的方案可以是拷贝数据文件、备份 binlog,或者用 mysqldump。

  1、mysqldump

  1.1 备份

  mysqldump 是采用SQL级别的备份机制,它将数据表导成 SQL 脚本文件,在不同的 MySQL 版本之间升级时相对比较合适,这也是最常用的备份方法。

  现在来讲一下 mysqldump 的一些主要参数:

  --compatible=name

  它告诉 mysqldump,导出的数据将和哪种数据库或哪个旧版本的 MySQL 服务器相兼容。值可以为 ansi、mysql323、mysql40、postgresql、oracle、mssql、db2、maxdb、no_key_options、no_tables_options、no_field_options 等,要使用几个值,用逗号将它们隔开。当然了,它并不保证能完全兼容,而是尽量兼容。

  --complete-insert,-c

  导出的数据采用包含字段名的完整 Insert 方式,也就是把所有的值都写在一行。这么做能提高插入效率,但是可能会受到 max_allowed_packet 参数的影响而导致插入失败。因此,需要谨慎使用该参数,至少我不推荐。

  --default-character-set=charset

  指定导出数据时采用何种字符集,如果数据表不是采用默认的 latin1 字符集的话,那么导出时必须指定该选项,否则再次导入数据后将产生乱码问题。

  --disable-keys

  告诉 mysqldump 在 Insert 语句的开头和结尾增加 /*!40000 Alter TABLE table DISABLE KEYS */; 和 /*!40000 Alter TABLE table ENABLE KEYS */; 语句,这能大大提高插入语句的速度,因为它是在插入完所有数据后才重建索引的。该选项只适合 MyISAM 表。

  --extended-insert = true|false

  默认情况下,mysqldump 开启 --complete-insert 模式,因此不想用它的的话,就使用本选项,设定它的值为 false 即可。

  --hex-blob

  使用十六进制格式导出二进制字符串字段。如果有二进制数据就必须使用本选项。影响到的字段类型有 BINARY、VARBINARY、BLOB。

  --lock-all-tables,-x

  在开始导出之前,提交请求锁定所有数据库中的所有表,以保证数据的一致性。这是一个全局读锁,并且自动关闭 --single-transaction 和 --lock-tables 选项。

  --lock-tables

  它和 --lock-all-tables 类似,不过是锁定当前导出的数据表,而不是一下子锁定全部库下的表。本选项只适用于 MyISAM 表,如果是 Innodb 表可以用 --single-transaction 选项。

  --no-create-info,-t

  只导出数据,而不添加 Create TABLE 语句。

  --no-data,-d

  不导出任何数据,只导出数据库表结构。

  --opt

  这只是一个快捷选项,等同于同时添加 --add-drop-tables --add-locking --create-option --disable-keys --extended-insert --lock-tables --quick --set-charset 选项。本选项能让 mysqldump 很快的导出数据,并且导出的数据能很快导回。该选项默认开启,但可以用 --skip-opt 禁用。注意,如果运行 mysqldump 没有指定 --quick 或 --opt 选项,则会将整个结果集放在内存中。如果导出大数据库的话可能会出现问题。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
两个点博物馆:所有展览以及在哪里可以找到它们
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

MongoDB在Debian上的高可用性如何保障 MongoDB在Debian上的高可用性如何保障 Apr 02, 2025 am 07:21 AM

本文介绍如何在Debian系统上构建高可用性的MongoDB数据库。我们将探讨多种方法,确保数据安全和服务持续运行。关键策略:副本集(ReplicaSet):利用副本集实现数据冗余和自动故障转移。当主节点出现故障时,副本集会自动选举新的主节点,保证服务的持续可用性。数据备份与恢复:定期使用mongodump命令进行数据库备份,并制定有效的恢复策略,以应对数据丢失风险。监控与报警:部署监控工具(如Prometheus、Grafana)实时监控MongoDB的运行状态,并

Debian下PostgreSQL监控方法 Debian下PostgreSQL监控方法 Apr 02, 2025 am 07:27 AM

本文介绍在Debian系统下监控PostgreSQL数据库的多种方法和工具,助您全面掌握数据库性能监控。一、利用PostgreSQL内置监控视图PostgreSQL自身提供多个视图用于监控数据库活动:pg_stat_activity:实时展现数据库活动,包括连接、查询和事务等信息。pg_stat_replication:监控复制状态,尤其适用于流复制集群。pg_stat_database:提供数据库统计信息,例如数据库大小、事务提交/回滚次数等关键指标。二、借助日志分析工具pgBadg

Linux系统自带Python解释器能删除吗? Linux系统自带Python解释器能删除吗? Apr 02, 2025 am 07:00 AM

关于Linux系统自带Python解释器的删除问题许多Linux发行版在安装时会预装Python解释器,它并非通过软件包管理器�...

如何在10小时内通过项目和问题驱动的方式教计算机小白编程基础? 如何在10小时内通过项目和问题驱动的方式教计算机小白编程基础? Apr 02, 2025 am 07:18 AM

如何在10小时内教计算机小白编程基础?如果你只有10个小时来教计算机小白一些编程知识,你会选择教些什么�...

Debian Message对网络配置有何影响 Debian Message对网络配置有何影响 Apr 02, 2025 am 07:51 AM

Debian系统的网络配置主要通过/etc/network/interfaces文件实现,该文件定义了网络接口参数,例如IP地址、网关和DNS服务器等。Debian系统通常使用ifup和ifdown命令来启动和停止网络接口。通过修改interfaces文件中的iface行,可以设置静态IP或使用DHCP动态获取IP地址。需要注意的是,Debian12及后续版本不再默认使用NetworkManager,因此可能需要借助其他命令行工具,例如ip命令,来管理网络接口。您可以通过编辑/etc/netwo

Zookeeper性能调优在Debian上如何操作 Zookeeper性能调优在Debian上如何操作 Apr 02, 2025 am 07:42 AM

本文介绍如何在Debian系统上优化ZooKeeper性能。我们将从硬件、操作系统、ZooKeeper配置以及监控等方面提供建议。一、系统层面优化存储介质升级:使用SSD固态硬盘替换传统机械硬盘,显着提升I/O性能,降低访问延迟。禁用交换分区:通过调整内核参数,减少对交换分区的依赖,避免内存与磁盘频繁交换带来的性能损耗。提升文件描述符上限:增加系统允许同时打开的文件描述符数量,避免资源限制影响ZooKeeper的处理效率。二、ZooKeeper配置优化zoo.cfg文件配置

Debian上Oracle安全设置怎么做 Debian上Oracle安全设置怎么做 Apr 02, 2025 am 07:48 AM

强化Debian系统上Oracle数据库的安全,需要多方面入手。以下步骤提供一个安全配置的框架:一、Oracle数据库安装与初始配置系统准备:确保Debian系统已更新至最新版本,网络配置无误,并安装所有必需的软件包。建议参考官方文档或可靠的第三方资源进行安装。用户与组:创建专用Oracle用户组(如oinstall,dba,backupdba),并为其设置合适的权限。二、安全限制设置资源限制:编辑/etc/security/limits.d/30-oracle.conf文

如何通过Debian日志监控系统性能 如何通过Debian日志监控系统性能 Apr 02, 2025 am 08:00 AM

掌握Debian系统日志监控是高效运维的关键,它能帮助您及时了解系统运行状况,快速定位故障,并优化系统性能。本文将介绍几种常用的监控方法和工具。利用sysstat工具包监控系统资源sysstat工具包提供了一系列强大的命令行工具,用于收集、分析和报告各种系统资源指标,包括CPU负载、内存使用、磁盘I/O、网络吞吐量等。主要工具包括:sar:全面的系统资源统计工具,涵盖CPU、内存、磁盘、网络等。iostat:磁盘和CPU统计信息。mpstat:多核CPU的统计信息。pidsta

See all articles