【问题标题】:How to import MYSQL database from Windows to production server如何将 MYSQL 数据库从 Windows 导入生产服务器
【发布时间】:2021-11-08 13:50:22
【问题描述】:

免责声明:我是green horn

我在 Windows 上使用PhpStorm,它提供了一种在开发过程中创建和管理数据库的便捷方式。不幸的是,现在我要推送到生产环境,将数据库上传到Cloadways (Digital Ocean Server) 似乎并不那么简单。

Cloudways 的Database Manager 具有导入功能,需要.gz (gzip) 文件。 gzip 文件不能从目录创建,但在 Windows 上 mysql 为每个 database 创建目录并用 table files (.ibd) 填充它们。

我了解到您可以先将目录压缩到 .tar 文件中,然后再将它们压缩为 gzip (database.tar.gz),这就是我尝试过的。但是当我尝试使用 database manager 导入它们时,它只显示:

有什么办法吗?

【问题讨论】:

  • 您不会导入原始 MySQL 文件 - 使用 mysqldump 获取 SQL 文件,压缩,然后上传
  • 仅使用行文件进行复制,使用相同版本的mysql,为什么要从数据目录复制所有文件,但mysqldump方法更简单。如果你有一个大数据库,你可以尝试复制

标签: mysql linux windows phpstorm cloudways


【解决方案1】:

以下是将数据从开发机器迁移到另一台 MySQL 服务器所需的内容:一个名为 whatever.sql文本文件,其中包含表的定义和内容(以及视图和存储函数以及所有您的其他数据库对象)。这种文本文件通常称为 mysqldump 文件。您会发现这些文件包含一大堆 SQL 语句,主要是 CREATE TABLE 和 INSERT。它们还包含一些行,例如

/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;

这些看起来像 cmets,但是当您加载文件时,它们会作为 SQL 语句处理,所以不要管它们。

您可以在文件上使用gzip(1) 以使其更小,Cloudways 会正确处理它。有或没有 gzip 都可以。

如何导出

使用 PhpStorm,打开数据库面板并右键单击您的数据库名称(不是服务器名称本身,而是您的应用程序的数据库)。您将看到一个菜单项Export with mysqldump。点击它。您可以保留默认的复选框设置。

然后为您的输出指定一个文件名并运行导出。

我在 linux 上使用 PhpStorm,所以我不完全确定这个导出在 Windows 上是否有效。如果没有,请下载 Ansgar Becker 的免费且出色的 Windows MySQL 客户端程序 HeidiSQL。右键单击数据库名称,然后选择Export Database as SQL。选中创建表框并从数据下拉列表中选择插入

如何导入生产

  1. 登录生产 MySQL 服务器。
  2. 创建数据库并选择它。 Cloudways 看起来像是为您做的。如果没有,请发出这些 SQL 语句。
     CREATE DATABASE myDatabaseName;
     USE myDatabaseName;
    
  3. 使用适当的工具运行whatever.sql 文件中的所有SQL。 Cloudways 看起来也适合您。如果没有,这个命令行或类似的东西可能会起作用。
    mysql --user=yourMySQLUserName --password=secret\  
          --database=myDatabaseName\
          --host=cloudways.example.com < whatever.sql
    

您的迁移将完成。

额外奖励:如果您的 whatever.sql 文件包含生产数据库的初始状态,您可以将其放入 git(或其他源代码控制)中,并在您部署软件包的新实例时使用它。

不要试图将那些.ibd文件和其他由MySQL管理的文件复制到另一台机器上。如果你这样做了,你会后悔的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-16
    • 1970-01-01
    • 2011-05-23
    • 2013-03-12
    • 2019-04-23
    • 1970-01-01
    • 2015-01-28
    • 2021-06-25
    相关资源
    最近更新 更多