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

从命令行在 mySQL 中导出和导入数据库

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

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

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

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

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

mysqldump --all-databases > all_databases_dump.sql

因为这个命令会导出所有数据库,所以不需要指定数据库名称。 mySQL 中存储的所有数据库将转储到当前工作目录下的“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 中导出数据库和导入数据库的任何有趣技巧吗?请在评论中告诉我们!