关于MySQL数据库

MySQL是一个开源的关系数据库管理系统。关系数据库把数据组织成一个或多个数据表,表与表之间可以相互关联。MySQL还负责管理用户、支持网络访问、维护数据完整性,并提供丰富的备份手段。

MySQL数据库对企业或商业机构来说非常重要,本文整理了6种可行的MySQL备份数据方法,供大家按需选择。

而mysqldump无疑是技术人员MySQL数据库备份的首选。mysqldump可以将一个或多个MySQL数据库导出到备份文件,便于备份或迁移到另一台服务器,生成CSV、文本或XML格式的数据。

Mysqldump 语法

mysqldump 命令中包含三个不同的参数来执行MySQL数据库备份:

  • mysqldump [选项] db_name [tbl_name ...]

  • mysqldump [选项] --数据库 db_name ...

  • mysqldump [选项] --all-databases

“提示”:以上【选项】请参考mysqldump 选项获取更详细的信息。

第一个命令备份单个MySQL数据库;第二个命令转储指定数据库的集合;第三个命令能够备份所有MySQL数据库中的所有表。这些命令都基于CMD环境执行,更多细节可以参考专门的CMD备份MySQL数据库教程。

有两种方法可以使用 mysqldump 制作MySQL转储数据库:命令提示符和MySQL Shell。

方法1. 使用 Windows 命令提示符备份MySQL数据库

在 Windows 搜索框中输入cmd,右键单击命令提示符并选择“以管理员身份运行”。

然后运行以下 2 个命令来执行MySQL数据库备份:

set PATH=C:\Program Files\MySQL\MySQL Server 5.6\bin

  • 将 C:\Program Files\MySQL\MySQL Server 5.6\bin 替换为 mysql.exe 的实际位置。

  • 该命令把MySQL命令目录加入系统路径,否则会提示“mysql 不是内部或外部命令”。

mysqldump -h 127.0.0.1 -u root -p 数据库名 > 文件名.sql

用您自己的参数替换各项内容,下面是 mysqldump 示例:

mysqldump -h 127.0.0.1 -u root -p mysql > mysql.sql

输入密码后,会在 C:\Users\username 目录下生成一个转储文件。

mysqldump 备份单个数据库 CMD

要恢复MySQL数据库,只需输入命令:

mysql -u 用户名 -p 数据库名 < 文件名.sql

例如:

mysql -u root -p mysql < mysql.sql

恢复单个MySQL数据库 CMD

备份多个MySQL数据库,输入命令:

mysqldump -h 127.0.0.1 -u root -p --databases dbname_a dbname_b > 文件名.sql

例如备份 mysql 和 mydatabase 两个数据库:

mysqldump -h 127.0.0.1 -u root -p --databases mysql mydatabase > mysql-mydatabase-dump.sql

mysqldump 备份多个数据库 CMD

备份所有MySQL数据库,请输入命令:

mysqldump -h 127.0.0.1 -u root -p --all-databases > filename.sql

例如输入以下命令进行MySQL备份:

mysqldump -h 127.0.0.1 -u root -p --all-databases > all_mysql_database.sql

mysqldump 备份所有数据库 CMD

在MySQL Shell中备份MySQL

此外,也可以在MySQL Shell中使用 mysqldump 命令创建MySQL备份,步骤如下:

打开MySQL Shell,逐条执行以下命令:

  • \sql(切换到SQL模式)

  • \connect root@localhost(输入root@localhost的密码,或选择是否保存密码)

  • mysqldump -u root -p --all-databases > all_database.sql

MySQL Shell 中的MySQL备份

不过,mysqldump 也有一些限制:

  • mysqldump默认不会备份INFORMATION_SCHEMA数据库,如需备份请使用--skip-lock-tables选项。

  • mysqldump不会转储MySQL Cluster ndbinfo信息数据库。

  • 不建议用它备份超大数据表,因为它是逻辑备份工具,数据加载在内存中,受内存限制。

方法2. 使用MySQL Workbench备份MySQL数据库

1. 打开MySQL Workbench,单击“Server”下的“Data Export”,或者在Navigator的Management下进入Data Export。

MySQL 工作台数据导出

2. 在“要导出的表”部分选择架构(MySQL数据库)和要导出的对象,选择“转储结构和数据”。

勾选Export to Self-Contained File,即可导出为单个SQL文件,默认存放在C:\Users\username\Documents\dumps\目录。

MySQL Workbench 数据选择

3. 单击Start Export开始MySQL数据库备份。

要恢复MySQL数据库,请在Server下拉菜单中选择Data Import,或在Navigator的Management下选择Data Import/Restore,自定义还原设置后单击Start Import即可导入数据。

MySQL 工作台数据导入

方法3. 通过复制整个数据库文件夹来备份MySQL数据库

一般来说,数据库文件存放在C:\Program Files\MySQL\MySQL Server 5.6\data\dbname,包含.MYD、.MYI、.frm、.ibd、.CSV等后缀的文件。

MySQL数据库文件

如果要复制整个数据库文件夹,先停止服务器,锁定并刷新相关信息,再把整个数据文件夹复制到其他位置,形成物理备份。

如果数据库使用InnoDB表,就不能只靠复制文件夹来完成MySQL数据库备份,因为InnoDB可能把数据缓存在内存中而没有及时刷新到磁盘,这时可以改用mysql备份数据库的导出方式,把数据完整导出来。

InnoDB 文件

方法4. 使用云服务器控制面板备份MySQL

常见的云服务器控制面板有ISPConfig、Ajenti、CentOS-WebPanel、Virtualmin、Webmin、Everleap和cPanel等,以下以cPanel为例:

1. 登录cPanel控制面板,在“文件”部分选择“备份”。

cPanel 备份 MySQL

2. 在“下载MySQL数据库备份”部分选择要备份的数据库名称。

3. 选择“另存为”并配置相关设置,再单击“确定”开始备份。备份完成后可以把文件下载到本地保存。

方法5. 使用phpMyAdmin备份MySQL数据库

phpMyAdmin是用于MySQL和MariaDB的开源管理工具,支持通过Web界面导出和导入.sql、CSV、JSON等格式的数据文件。

1. 登录phpMyAdmin,在工具栏中单击“导出”。

2. 在“导出方法”中勾选“快速 - 仅显示精简选项”或“自定义 - 显示所有可能的选项”。

3. 选择SQL格式,点击“Go”,即可生成一个.sql转储文件。

PHPMyAdmin 导出MySQL数据库

也可以在导出前先选中某个MySQL数据库,再按同样的步骤为指定库创建备份;需要恢复时,单击“导入”选择备份文件即可。

方法6. 使用傲梅企业备份标准版自动备份MySQL数据库

如果运行的是Windows服务器,傲梅企业备份标准版是MySQL数据库备份的不错选择,下载安装后即可试用180天。

微软WHQL认证

它可以每天、每周和每月自动复制MySQL数据库文件,还可以使用实时同步功能,把源目录的变更数据即时同步到目标目录。

以下是在Windows Server 2003/2008/2012/2016/2019/2022中实现数据库文件备份的步骤:

1. 打开傲梅企业备份标准版,单击主窗口的“同步”>“基本同步”。

基本同步

2. 单击“添加文件夹”选择MySQL数据库所在文件夹,再选择MySQL备份的“目的地”。

新增文件夹

3. 点击“开始同步”,即可轻松为MySQL数据库创建备份。

使用傲梅企业备份标准版MySQL备份

提示:您可以通过每日、每周、每月、事件触发器和U盘插入5种模式为MySQL数据库创建自动备份,具体可参考事件触发器的说明。

总结一下,企业经常把重要数据存放在MySQL数据库中,因此把MySQL备份和还原数据库做扎实非常必要。本文共介绍6种方法,命令类方法的完整讲解还可以参考mysql数据库备份命令的6大方法。

常见问题解答

问:mysql如何备份数据库,有哪些常用方法?
答:常用方法有mysqldump命令行导出、MySQL Workbench图形化导出、直接复制数据库文件夹、云服务器控制面板备份和phpMyAdmin导出等,也可以使用傲梅企业备份标准版自动同步数据库文件。
问:mysqldump备份和直接复制数据库文件夹有什么区别?
答:mysqldump是逻辑备份,生成可阅读的SQL文件,便于跨环境还原;直接复制数据文件夹是物理备份,恢复快,但InnoDB引擎可能有未落盘数据,需要先停止服务再复制。
问:MySQL数据库备份后怎么恢复?
答:mysqldump生成的.sql文件可以用mysql -u root -p 数据库名 < 文件名.sql恢复;phpMyAdmin和MySQL Workbench则提供对应的导入功能选择备份文件还原。
问:傲梅企业备份标准版能自动备份MySQL数据库吗?
答:可以。它支持把MySQL数据库文件所在文件夹加入同步任务,按每天、每周或每月的计划自动备份到本地或网络位置,也可开启实时同步功能。
问:大数据库用什么方式备份比较合适?
答:超大数据库不适合mysqldump这类逻辑备份,因为导出会占用较多内存和时间;建议结合物理备份或第三方备份软件进行整体快照式保护。

总结

MySQL数据库经常存储整个企业的关键数据,因此定时备份必不可少。本文提供了6种行之有效的MySQL备份方法,覆盖命令行、图形工具、云面板和第三方软件,您可以根据环境选择更合适的方式,并坚持定期执行。

更新于2026年09月07日