如何导出&导入所有MySQL数据库

目录:

Anonim

许多开发人员和专业用户都依赖MySQL 来满足他们的数据库需求。我们将介绍如何从 MySQL 导出或转储所有数据库、转储单个数据库,以及如何将所有这些数据库从 database.sql 文件导入回 MySQL。

虽然有基于GUI 的工具可以与MySQL 进行交互,但我们将在这里重点介绍命令行。MySQL 命令适用于任何 unix 操作系统上的任何版本的数据库软件,包括 linux、Mac OS 和 Mac OS X,或者您碰巧运行 mySQL 的任何其他操作系统。

我们假设您已经安装并运行了 MySQL,如果没有,您可以在此处了解如何在 Mac OS 上启动和停止 MySQL 服务器,并且可以在此处下载 MySQL,或者如果您正在寻找一个整个网络服务器堆栈,查看易于使用的 MAMP for Mac。

如何通过命令行从MySQL转储所有数据库

将所有数据库从MySQL 转储到.sql 文件中以进行备份或迁移或其他操作的最简单方法是使用-all-databases 标志,如下所示:

mysqldump --all-databases > all_databases_dump.sql

因为该命令导出所有数据库,所以不需要指定数据库名称。所有存储在mySQL中的数据库都会被dump到当前工作目录下的“all_databases_dump.sql”导出文件中

如果需要,您还可以在转储所有数据库时指定用户名和密码,在这种情况下,用户名是root:

mysqldump -u root -p --all-databases > all_databases.sql

在转储mysql数据库后,我个人的偏好是按照此处所述从中创建一个tar gzip,但这完全是可选的。

如何从MySQL导出特定数据库

如果您确实想按名称转储特定数据库而不是导出所有数据库,那同样简单:

mysqldump database_name > database_name_dump.sql

mysqldump 命令有许多参数和标志,可以帮助导出和备份数据库,您可以使用“man mysqldump”从手册页或在dev.mysql 网站上阅读此处了解更多信息。

如何将所有数据库导入MySQL

当然,如果您有数据库转储,将其导入MySQL 很重要。这是通过命令行将 database.sql 文件中的所有数据库导入 MySQL 的最简单方法:

mysql database_name < database_dump.sql

和导出数据库一样,导入时也可以根据需要指定用户名:

mysql -u root -p < database_dump.sql

如果需要,您还可以指定不同的用户名或数据库:

mysql -u user -p database_name < database_dump.sql

将特定数据库导入MySQL

您还可以按名称在大型转储中导入特定数据库:

mysql --one-database database_name < all_databases.sql

和以前一样,如果您在将数据库导入mysql 时遇到困难,您可以使用'man mysql' 转到手册页或mysql 开发人员站点上的官方文档。

知道在MySQL中导出数据库和导入数据库有什么有趣的技巧吗?让我们在评论中知道!

如何导出&导入所有MySQL数据库