2016-09-06 31 views
0

我使用灵活的应用程序引擎的红宝石。我需要在同一个项目上连接到第二代云SQL服务器。我曾尝试直接从指定范围内的database.yml插座以及通过本地主机连接,以及IPv4地址为我的Cloud SQL实例,但似乎没有任何工作。我在StackOverflow上查看了所有类似的线程,但没有任何工作。我会尝试使用服务帐户,但我找不到这个红宝石的工作示例。无法从红宝石连接到谷歌Cloud SQL的第二代灵活的应用程序引擎

我已经能够获得最接近的是#<Mysql2::Error: Lost connection to MySQL server at 'reading initial communication packet', system error: 0>。请指教。

+0

你能告诉你的代码的地方? http://stackoverflow.com/help/mcve – Herman

回答

1

这是不太理想,但我可以在其他地方找到,唯一支持的方式,现在连接到第二代云SQL服务器从灵活的应用环境如下。我会接受任何可以做到这一点的答案,但不必白名单列出IP所有传入连接。最好有通过本地主机这样的一种方式,但是从我收集,这还不是这种情况。

  1. 禁用非SSL连接并下载SSL证书捆绑的Cloud SQL执行第2代服务器 enter image description here
  2. 让你的Cloud SQL服务器 enter image description here
  3. 对所有传入的IPv4地址设置root的密码你云端SQL服务器(虽然在技术上不需要,因为我们已经在使用SSL证书包了)
  4. 复制您的Cloud SQL服务器的IPv4地址和根密码
  5. 的IP和密码直接粘贴到你的database.yml文件,如下,和包括证书捆绑,波纹管:

    # config/database.yml 
    
    production: 
        adapter: mysql2 
        encoding: utf8 
        pool: 5 
        host: <IP ADDRESS HERE> 
        database: <DATABASE NAME HERE> 
        username: root 
        password: <PASSWORD HERE> 
        sslca: config/ssl/server-ca.pem 
        sslcert: config/ssl/client-cert.pem 
        sslkey: config/ssl/client-key.pem 
    
相关问题