以下是将数据从开发机器迁移到另一个 MySQL 服务器所需的内容: 一个名为的文本文件whatever.sql
,其中包含表的定义和内容(以及视图和存储的函数以及所有其他数据库对象)。这种文本文件通常称为mysqldump文件。您会发现这些文件包含一大堆 SQL 语句,主要是 CREATE TABLE 和 INSERT。它们还包含一些行,例如
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
这些看起来像注释,但是当您加载文件时,它们会作为 SQL 语句处理,因此请不要理会它们。
您可以在文件上使用gzip(1)以使其更小,Cloudways 会正确处理它。有或没有 gzip 都可以。
如何导出
使用 PhpStorm,打开数据库面板并右键单击您的数据库名称(不是服务器名称本身,而是您的应用程序的数据库)。您将看到一个带有 mysqldump 的菜单项 Export。点击它。您可以保留默认复选框设置。
然后为您的输出提供文件名并运行导出。
我在 linux 上使用 PhpStorm,所以我不完全确定这个导出在 Windows 上是否有效。如果没有,请下载 Ansgar Becker 的免费且出色的 Windows MySQL 客户端程序HeidiSQL。右键单击数据库名称,然后选择Export Database as SQL。选中创建表框并从数据下拉列表中选择插入。
如何导入生产
- 登录生产 MySQL 服务器。
- 创建数据库并选择它。Cloudways 看起来像是为您做的。如果没有,请发出这些 SQL 语句。
CREATE DATABASE myDatabaseName;
USE myDatabaseName;
- 使用适当的工具运行
whatever.sql
文件中的所有 SQL。Cloudways 看起来也适合您。如果没有,这个命令行或类似的东西可能会起作用。
mysql --user=yourMySQLUserName --password=secret\
--database=myDatabaseName\
--host=cloudways.example.com < whatever.sql
您的迁移将完成。
额外奖励:如果您的whatever.sql
文件包含生产数据库的初始状态,您可以将其放入 git(或其他源代码控制)中,并在您部署软件包的新实例时使用它。
不要试图将这些.ibd
文件和其他由 MySQL 管理的文件复制到另一台机器上。如果你这样做了,你会后悔的。