Cloud SQL 2nd gen. 是否与 mysqldump 命令兼容



我尝试从本地计算机转储我的Cloud SQL实例数据库。

我知道我应该使用 gcloud 命令,但在项目中我会使用它来重写所有 mysqldump 指令将是一个真正的痛苦。

我可以通过MySQL客户端连接到Cloud SQL,但是当我尝试使用mysqldump时,我得到以下结果:

mysqldump --databases testdb -h 130.211.xxx.xxx -u root -p > testdump.sql
mysqldump: Got error: 1227: Access denied; you need (at least one of) the SUPER privilege(s) for this operation when using LOCK TABLES

当然,CloudSQL不支持超级特权... :/

有谁知道是否有办法?

是的,它接受它,但您必须首先使用该cloud_sql_proxy,并具有正确的权限。此外,目前这不在文档中,既不是警告也不是官方方法。仍然使用中间桶进行转储不是我喜欢的。

在具有最新mysqldump的Mac OS中(发布我遇到的问题示例可能因操作系统和mysqldump版本而异(

mysqldump --column_statistics=0 -h 127.0.0.1 -u <user> -p <db> --set-gtid-purged=OFF> <dumpFile>
// this is because I use the tcp connection sample for the cloud sql proxy
mysql -h 127.0.0.1 -u <user> -p -D <database> < DBs/mysqldump100519.sql 

根据他们的文档,似乎您有 2 个选择。
第一个,你不喜欢的是使用 gcloud 命令
第二,使用 RESTful API 访问 gcloud 命令在后台使用的服务。您可以从代码内部使用相同的请求。看看这里。

相关内容

  • 没有找到相关文章