3

適切なインスタンス名を持つ第 2 世代の MYSQL インスタンスを使用するように構成された Google Nodejs アプリを実行すると、ENOENT エラーが繰り返し発生します。これは、cloudproxy を使用してローカルホストで機能しますが、コンピューティング クラスター インスタンスで次のエラーが発生します。アプリ エンジンのデプロイでも同様のエラーが発生します。

error when connecting to db: { Error: connect ENOENT cybers-cafe:us-east1:cybers-cafe
    at Object.exports._errnoException (util.js:1026:11)
    at exports._exceptionWithHostPort (util.js:1049:20)
    at PipeConnectWrap.afterConnect [as oncomplete] (net.js:1085:14)
    --------------------
    at Protocol._enqueue (/home/jordocote/cybers-cafe-service/node_modules/mysql/lib/protocol/P
    at Protocol.handshake (/home/jordocote/cybers-cafe-service/node_modules/mysql/lib/protocol/
    at Connection.connect (/home/jordocote/cybers-cafe-service/node_modules/mysql/lib/Connectio
    at Timeout.handleDisconnect [as _onTimeout] (/home/jordocote/cybers-cafe-service/entities/r
    at ontimeout (timers.js:365:14)
    at tryOnTimeout (timers.js:237:5)
    at Timer.listOnTimeout (timers.js:207:5)
  code: 'ENOENT',
  errno: 'ENOENT',
  syscall: 'connect',
  address: 'cybers-cafe:us-east1:cybers-cafe',
  fatal: true }

さまざまな socketPath 値を使用してみました:

  • Cyber​​s-cafe:us-east1:cybers-cafe,
  • /cloudsql/cybers-cafe:us-east1:cybers-cafe,
  • MYSQL インスタンスの IP アドレス (ポートあり/なし)、
  • ただ 3306

それらはすべて、コンピューティング クラスター インスタンスとアプリ エンジンのデプロイで同じエラーを生成します。また、計算クラスタ インスタンスから mysql クライアントを使用して MYSQL インスタンスに直接接続することもできませんでした。

https://cloud.google.com/sql/docs/mysql/connect-app-engineなどのドキュメントのセットアップ手順に従いましたが、次のようになります。

env_variables:
  MYSQL_USER: ******
  MYSQL_PASSWORD: ***********
  MYSQL_DATABASE: cyberscafe
  # This path was printed to the console when you started the proxy, and is of
  # the format: `/[DIR]/[YOUR_PROJECT_ID]:[YOUR_REGION]:[YOUR_INSTANCE_NAME]`
  MYSQL_SOCKET_PATH: cybers-cafe:us-east1:cybers-cafe
beta_settings:
  # The connection name of your instance on its Overview page in the Google
  # Cloud Platform Console, or use `[YOUR_PROJECT_ID]:[YOUR_REGION]:[YOUR_INSTANCE_NAME]`
  cloud_sql_instances: cybers-cafe:us-east1:cybers-cafe
4

0 に答える 0