声明:我是一个彻头彻尾的green horn。
我正在使用Windows上的PhpStorm,它提供了一种在开发过程中创建和管理数据库的便捷方法。不幸的是,现在我想要推送到生产环境中,将数据库上传到Cloadways (Digital Ocean Server)似乎并不那么简单。
Cloudway的Database Manager有一个导入功能,需要.gz (gzip)文件。不能从目录创建gzip文件,但在Windows上,mysql会为每个database创建目录,并用table files (.ibd)填充这些目录。
我读到过,您可以先将目录压缩为.tar文件,然后对其进行gzip (database.tar.gz),这也是我尝试过的。但当我尝试使用database manager导入它们时,它只显示以下内容:

有没有办法做到这一点?
发布于 2021-11-08 14:26:39
下面是将数据从开发计算机迁移到另一台MySQL服务器所需的内容:一个名为whatever.sql的文本文件,其中包含表(以及视图、存储函数和所有其他数据库对象)的定义和内容。这种类型的文本文件通常称为mysqldump文件。您会发现这些文件包含一大堆SQL语句,主要是CREATE TABLE和INSERT。它们还包含一些行,如
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;这些看起来像注释,但是当您加载文件时,它们被当作SQL语句来处理,所以不要去管它们。
您可以在文件上使用gzip(1)来使其更小,Cloudway将正确地处理它。
如何导出
使用PhpStorm,打开数据库面板并右键单击您的数据库名称(不是服务器名称本身,而是应用程序的数据库)。您将看到菜单项Export with mysqldump。单击它。您可以保留默认复选框设置。
我在linux上使用PhpStorm,所以我不能完全确定这个导出是否能在Windows上运行。如果没有,请下载Ansgar Becker的免费和优秀的Windows MySQL客户端程序HeidiSQL。右键单击数据库名称,然后选择将数据库导出为SQL。选中Create Tables框,然后从data下拉列表中选择Insert。
如何导入生产
创建数据库myDatabaseName
mysql --用户=您的yourMySQLUserName-密码=密码\--数据库=myDatabaseName\--主机=cloudways.example.com< whatever.sql
您的迁移将完成。
额外的好处:如果您的whatever.sql文件包含生产数据库的初始状态,则可以将其放入git (或其他源代码控制)中,并在部署软件包的新实例时使用它。
如果你这么做了,你会后悔的。
https://stackoverflow.com/questions/69884552
复制相似问题