如何在启用二进制模式的情况下将 sql 文件导入 Google SQL?
How to import sql file in Google SQL with binary mode enabled?
我的数据库出现错误:
ASCII '[=14=]' appeared in the statement, but this is not allowed unless option --binary-mode is enabled and mysql is run in non-interactive mode. Set --binary-mode to 1 if ASCII '[=14=]' is expected.
我包括使用 gcloud sql import sql mydb gs://my-path/mydb.sql --database=mydb
通过控制台导入数据库,但我在文档中没有看到二进制模式的任何标志。有可能吗?
可选 - 在通过 MySQL Workbench 导入时是否可以设置此标志。我在那里也没有看到任何关于它的信息,但可能是我遗漏了一些设置或其他东西。如果有办法设置那个标志,那么我可以通过 MySQL Workbench.
导入我的数据库
谢谢。
根据源数据库的托管位置,在云 SQL 或 on-premise 环境中,在导出期间设置了正确的标志,因此转储文件与目标数据库兼容。
由于您想导入从 on-premise 环境中导出的文件,因此建议采用 mysqldump
执行导出的方式。
首先,按照 documentation 中的建议创建转储文件。请务必注意以下两点:
- 不导出 customer-created MySQL 用户。这将导致导入新实例失败。相反,您希望手动 create the MySQL users。
- 确保您已配置适当的标志,以确保转储文件将包含您需要的所有必要详细信息。例如触发器、存储过程等
然后,创建一个云存储桶并将转储文件上传到桶中。
在继续导入之前,将存储对象管理员角色授予目标云 SQL 实例的服务帐户。您可以使用 following command:
gsutil iam ch serviceAccount:[SERVICE-ACCOUNT]:objectAdmin gs://[BUCKET-NAME]
您可以在云SQL实例概览中找到上述服务帐户,或者通过运行以下命令:
gcloud sql instances describe [INSTANCE_NAME]
服务帐户将在 serviceAccountEmailAddress
字段中提及。
现在您可以从控制台进行导入,或者使用 gcloud 命令或 REST API。
中有更多详细信息
我的数据库出现错误:
ASCII '[=14=]' appeared in the statement, but this is not allowed unless option --binary-mode is enabled and mysql is run in non-interactive mode. Set --binary-mode to 1 if ASCII '[=14=]' is expected.
我包括使用 gcloud sql import sql mydb gs://my-path/mydb.sql --database=mydb
通过控制台导入数据库,但我在文档中没有看到二进制模式的任何标志。有可能吗?
可选 - 在通过 MySQL Workbench 导入时是否可以设置此标志。我在那里也没有看到任何关于它的信息,但可能是我遗漏了一些设置或其他东西。如果有办法设置那个标志,那么我可以通过 MySQL Workbench.
导入我的数据库谢谢。
根据源数据库的托管位置,在云 SQL 或 on-premise 环境中,在导出期间设置了正确的标志,因此转储文件与目标数据库兼容。
由于您想导入从 on-premise 环境中导出的文件,因此建议采用 mysqldump
执行导出的方式。
首先,按照 documentation 中的建议创建转储文件。请务必注意以下两点:
- 不导出 customer-created MySQL 用户。这将导致导入新实例失败。相反,您希望手动 create the MySQL users。
- 确保您已配置适当的标志,以确保转储文件将包含您需要的所有必要详细信息。例如触发器、存储过程等
然后,创建一个云存储桶并将转储文件上传到桶中。
在继续导入之前,将存储对象管理员角色授予目标云 SQL 实例的服务帐户。您可以使用 following command:
gsutil iam ch serviceAccount:[SERVICE-ACCOUNT]:objectAdmin gs://[BUCKET-NAME]
您可以在云SQL实例概览中找到上述服务帐户,或者通过运行以下命令:
gcloud sql instances describe [INSTANCE_NAME]
服务帐户将在 serviceAccountEmailAddress
字段中提及。
现在您可以从控制台进行导入,或者使用 gcloud 命令或 REST API。
中有更多详细信息