您可能需要学习如何执行 MySQL 导出的几个原因。不相信?检查这些。
- 也许您对当前的托管服务提供商不满意,并希望切换到更好的网络托管服务商。建议:使用网站构建器可以让您更灵活地控制网站设计,从而增强您的托管体验并减少以后切换主机的需要。Yourwebsite提供数百个主题、插件等等。
- 也许您有兴趣备份您的数据库。但是,您应该注意,如果数据非常大,这可能需要很长时间。
- 可能涉及第三方MySQL 数据库。这意味着您要跨 SQL 平台迁移(例如,从 Microsoft SQL Server 迁移到 Oracle 数据库)。
无论您出于何种原因,有几种方法可以执行MySQL 导出。一个是通过 cPanel 中的phpMyAdmin选项卡,另一个是使用mysqldump。今天,您将学习如何使用 mysqldump 方法。
mysqldump 程序
当您创建数据库的副本时,您将执行转储。mysqldump 是一个使用逻辑备份来备份数据库的程序。逻辑备份是备份数据库内容以外的所有内容的备份。mysqldump 的工作原理是将当前数据库缩减为SQL 语句,然后您可以在不同的位置运行这些语句来重建数据库。
mysqldump的优点
- 此方法的一个优点是您可以在还原输出文件之前对其进行编辑。这意味着导出的文件不必以其原始形式导入。
- 调用语法允许您转储单个或多个表、一个或多个整个数据库,甚至整个 MySQL 数据库。
- 如果您在导出的文件中检测到问题,调试功能允许您将调试信息包含到备份语句中。此外,如果问题具有抑制转储的性质,您可以轻松克服这些问题并强制转储。
- 对于那些可能需要从第三方导出 MySQL 的人来说,一个很好的选择是允许您使用外语字符功能的国际化功能。
使用命令行执行 MySQL 导出
1.导出单个数据库:
- 访问命令行
- 输入以下命令,其中“username”代表您的用户名,“dbname”代表您要导出的数据库的名称,“newspot.sql”代表接收 MySQL 导出的位置:
mysqldump -u 用户名 -p 数据库名 > newspot.sql
- 输入您的密码
您的 MySQL 导出文件现已准备就绪。
2.导出多个数据库:
如前所述,您可以同时导出多个数据库。为此,您需要输入所有要导出的数据库(在下面的示例中,我们有两个 MySQL 导出数据库)。使用空格将它们分开。
所需的命令提示符是:
mysqldump -u 用户名 -p --databases database_1 数据库_2 > newdatabasespot.sql
创建 .sql 文件后,它将包含两个数据库。
3. 导出所有数据库:
与前面的示例不同,如果您希望导出或备份所有 MySQL 数据库,则不需要输入所有名称。以下命令提示符将完成工作:
mysqldump -u root -p --all-databases > newdatabasesot.sql
同样,将创建一个包含所有 MySQL 数据库的 .sql 文件。
如果要导出到多个文件,可以考虑添加一个 bash for 循环。
确认 MySQL 导出
因为没有视觉提示表明文件已被导出,所以您需要检查。你可以:
- 运行以下命令确认是否执行了转储:head -n 5 data-dump.sql。结果应显示已执行 SQL 转储,以及将其导出到的位置。
- 物理检查指定文件夹中的 .sql 文件
使用您的 MySQL 导出文件
虽然您创建备份的原因在很大程度上决定了您使用该文件的目的,但主要原因之一是出于迁移目的。因此,您需要知道如何导入新创建的 .sql 文件。您也可以使用命令行来帮助解决这个问题。您需要的程序是 mysqlimport。它通过填充表的内容来重新创建数据库来工作。
概括
在备份/导出/转储数据库时,您可以选择。使用命令行是这些选项之一。
执行导出的命令提示符是:
导出一个数据库: mysqldump -u username -p dbname > newspot.sql
导出多个数据库: mysqldump -u username -p –databases database_1 database_2 > newdatabasespot.sql
导出所有数据库: mysqldump -u root -p –all-databases > newdatabasesot.sql