标签: google-cloud-sql

如何使用Python连接到Cloud SQL?

使用 Python 连接到 Cloud SQL 并不总是那么简单。

根据上下文,有时您必须连接到 Unix 域套接字、将 TCP 连接的 IP 地址列入允许列表、在本地运行 Cloud SQL Auth 代理。确保这些连接安全是另一个挑战:您可能必须管理 SSL 证书、防火墙规则、IP 地址等。

是否有推荐的方法使用 Python以安全且简单的方式连接到 Cloud SQL ?

google-cloud-sql google-cloud-platform cloud-sql-proxy

5
推荐指数
1
解决办法
6643
查看次数

从云 SQL (PostgreSQL) 到 Bigquery BIGQUERY_TOO_MANY_PRIMARY_KEYS/BIGQUERY_UNSUPPORTED_TYPE_FOR_PRIMARY_KEY 的数据流

我刚刚开始尝试从 CloudSQL (PostgreSQL) 到 Bigquery 的新数据流,在启动流时遇到很多错误。主要是BIGQUERY_UNSUPPORTED_TYPE_FOR_PRIMARY_KEY和BIGQUERY_TOO_MANY_PRIMARY_KEYS. 有些表刚刚创建,而其他表则没有创建,即使它们具有相同的主键类型(由 bigserial PRIMARY KEY 创建)

在此输入图像描述

postgresql google-cloud-sql google-bigquery google-datastream

5
推荐指数
0
解决办法
616
查看次数

在google-app-engine中支持Django 1.4

我们什么时候可以期待在Google App Engine中支持django 1.4?

django google-app-engine google-cloud-sql

4
推荐指数
1
解决办法
1627
查看次数

为什么manage.py syncdb无法连接到google cloud sql数据库?

在最近更新Google App Engine上的应用时,我正在使用以下方法更新数据库:

SETTINGS_MODE='prod' ./manage.py syncdb
Run Code Online (Sandbox Code Playgroud)

这是我上次运行时的工作,但现在我收到以下错误:

Traceback (most recent call last):
  File "./manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
    utility.execute()
  File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 392, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/Library/Python/2.7/site-packages/django/core/management/base.py", line 242, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/Library/Python/2.7/site-packages/django/core/management/base.py", line 285, in execute
    output = self.handle(*args, **options)
  File "/Library/Python/2.7/site-packages/django/core/management/base.py", line 415, in handle
    return self.handle_noargs(**options)
  File "/c/clients/green_rentals/code/green-rental/south/management/commands/syncdb.py", line 92, in handle_noargs
    syncdb.Command().execute(**options)
  File "/Library/Python/2.7/site-packages/django/core/management/base.py", line 285, in execute
    output = self.handle(*args, **options)
  File "/Library/Python/2.7/site-packages/django/core/management/base.py", line 415, …
Run Code Online (Sandbox Code Playgroud)

python google-app-engine google-cloud-sql

4
推荐指数
1
解决办法
2353
查看次数

如何诊断Google Cloud SQL的root登录失败?

尝试通过各种MySQL客户端连接到Google Cloud SQL实例时,root登录现在失败并显示错误:

$ mysql --host = 173.194.xx --user = root -p输入密码:ERROR 1045(28000):拒绝访问用户'root'@'98.225.xx'(使用密码:YES)

我以前能够登录并执行各种任务(创建本地用户,添加表和存储过程等).

我仍然可以以我创建的本地用户身份登录.

所以我有:

  • 确认实例"IP地址"
  • 确认"授权网络"
  • 多次设置并重置"Root Password"
  • "重置SSL配置"
  • 清除"仅允许SSL连接"复选框
  • 多次"重启"实例

有关诊断root登录失败的任何建议吗?

谢谢你的帮助.

google-cloud-sql

4
推荐指数
1
解决办法
1056
查看次数

使用Google App Engine和Google Cloud SQL扩展WordPress

我们需要将WordPress用于流量较高的网站。我们预计每月的初始浏览量为50万,每月增加到约800万。用法主要是在工作时间内使用,每月工作8个小时,大约每月20天。

我们正在考虑将Google App Engine与Google Cloud SQL结合使用。我们想知道它对于这种负载的扩展能力如何。理论上说Google App Engine应该自动扩展,但是不确定扩展时Google Cloud SQL有多好。这将是一个主要读取的数据库,一些写入。

所以问题是:

  • 有没有人有在高负载的Google App Engine + Google Cloud SQL上部署WordPress的经验?
  • 您知道在Google App Engine上为WordPress安装插件是否有问题吗?他们需要任何特殊的修改吗?

wordpress google-app-engine google-cloud-sql autoscaling

4
推荐指数
1
解决办法
4362
查看次数

Google cloud sql:在"读取初始通信数据包"时失去与MySQL服务器的连接

我已经设置了一个默认的django/django-wiki项目.本地测试工作正常.从本地服务器(带google.appengine.ext.django.backends.rdbms)连接到云sql 不起作用,我相信由于一些身份验证问题.更重要的是,我无法从生产服务器连接.

我确保不在MySQLdb我的虚拟环境目录中部署我的本地会话.

我有以下内容app.yaml:

- name: MySQLdb
  version: "latest"
Run Code Online (Sandbox Code Playgroud)

我的DATABASE条目如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'dbname',
        'USER': 'root',
        'PASSWORD': '',
        'HOST': '/cloudsql/appname:sqlinstance',
        'PORT': '',
    }
}
Run Code Online (Sandbox Code Playgroud)

它似乎工作,或至少不抱怨丢失包或mysql导入问题.我的问题如下(从生产日志中获取,但也可以通过django调试输出看到):

File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/MySQLdb-1.2.4b4/MySQLdb/connections.py", line 190, in __init__
    super(Connection, self).__init__(*args, **kwargs2)
OperationalError: (2013, "Lost connection to MySQL server at 'reading initial communication packet', system error: 38")
Run Code Online (Sandbox Code Playgroud)

可能是什么导致了这个?这是否意味着与某事有联系但没有回复?从外部源连接时,其他帖子似乎提到这是一个问题,但此连接来自app引擎AFAIK.

python mysql django google-app-engine google-cloud-sql

4
推荐指数
1
解决办法
3541
查看次数

如何将Google Cloud SQL与Google Big Query集成

我正在设计一个解决方案,其中Google Cloud SQL将用于存储来自应用程序常规功能的所有数据(OLTP数据的种类).预计数据会随着时间的推移而增长到相当大的规模.数据本身具有关系性,因此我们选择了Cloud SQL而不是Cloud Datastore.

这些数据需要被提供给Big Query进行分析,这需要接近实时分析(作为最佳情况),尽管实际上可以预期一些滞后.但我正在尝试设计一种解决方案,将这种滞后降低到最低限度.

我的问题有3个部分 -

  1. 我应该使用Cloud SQL存储数据,然后将其移至BigQuery或更改基本设计本身,并使用BigQuery初始存储数据吗?BigQuery是否适合用于常规,低延迟的OLTP工作负载?(我不这么认为 - 我的假设是正确的吗?)

  2. 将Cloud SQL数据加载到BigQuery中的推荐/最佳实践是什么?这种集成是否接近实时?

  3. Cloud Dataflow是一个不错的选择吗?如果我将Cloud SQL连接到Cloud DataFlow并进一步连接到BigQuery - 它会起作用吗?或者有没有其他方法可以实现这一目标更好(如问题2中所述)?

google-cloud-sql google-bigquery google-cloud-platform google-cloud-dataflow

4
推荐指数
2
解决办法
3882
查看次数

使用服务帐户的Google Cloud SQL导入权限

我已经按照《MySQL导出指南》成功导出了MySQL数据库。

现在,我正在尝试按照《MySQL导入指南》导入MySQL数据库。

我已经检查了service_account_email我正在使用的权限,并且同时允许了Admin SQL和Admin Storage权限。

我可以使用以下命令在本地成功激活我的服务帐户:

gcloud auth activate-service-account <service_account_email> --key-file=<service_account_json_file>  
Run Code Online (Sandbox Code Playgroud)

运行命令后:

gcloud sql import sql <instance> <gstorage_file> --database=<db_name> --async
Run Code Online (Sandbox Code Playgroud)

我得到此信息:

{
  "error": {
    "errors": Array[1][
      {
        "domain": "global",
        "reason": "required",
        "message": "Login Required",
        "locationType": "header",
        "location": "Authorization"
      }
    ],
    "code": 401,
    "message": "Login Required"
  }
}
Run Code Online (Sandbox Code Playgroud)

我尝试过的其他事情

我还尝试使用service_account_emailSQL实例的,该实例来自:

gcloud sql instances describe <instance_name>
Run Code Online (Sandbox Code Playgroud)

但是,它似乎有相同的错误。

题

根据给出的REST API JSON错误,如何使用进行“登录”,service_account_email这样我就不会得到401 Error?

user-permissions google-cloud-storage google-cloud-sql service-accounts google-cloud-platform

4
推荐指数
2
解决办法
2498
查看次数

如何使用Go创建到Cloud SQL数据库的TLS连接?

我正在尝试创建到Cloud SQL数据库的TLS连接,但是在尝试准备一条语句时遇到以下错误:

x509: cannot validate certificate for <cloud sql instance ip>
      because it doesn't contain any IP SANs
Run Code Online (Sandbox Code Playgroud)

这是我的设置代码:

rootCertPool := x509.NewCertPool()

pem, err := ioutil.ReadFile("/path/server-ca.pem")
if err != nil {
    log.Fatal(err)
}

if ok := rootCertPool.AppendCertsFromPEM(pem); !ok {
    log.Fatal("Failed to append PEM.")
}

clientCert := make([]tls.Certificate, 0, 1)
certs, err := tls.LoadX509KeyPair("/path/client-cert.pem",
                                  "/path/client-key.pem")
if err != nil {
    log.Fatal(err)
}

clientCert = append(clientCert, certs)
mysql.RegisterTLSConfig("custom", &tls.Config{
    RootCAs: rootCertPool,
    Certificates: clientCert,
})

db, err := sql.Open("mysql",
        "<user>:<password>@tcp(<cloud sql ip>:3306)/<db_name>?tls=custom")
Run Code Online (Sandbox Code Playgroud)

mysql ssl go google-cloud-sql google-cloud-platform

4
推荐指数
1
解决办法
210
查看次数