7

Sto provando a configurare una connessione localmente per l'istanza SQL di seconda generazione.Errore notAutorizzato con cloud_sql_proxy localmente

chiamata per il proxy è

./cloud_sql_proxy -dir=/cloudsql -instances=status-1268:us-central1:status-dev=tcp:3306 & mysql -u status_stg --host 127.0.0.1 

Io sono un po 'poco chiaro su come impostare correttamente gli account di servizio dalla sezione API, così ho provato con entrambi i valori di default, account di servizio predefinito App Engine e Calcola l'account di servizio predefinito del motore. Ho anche creato un nuovo account di servizio. Per ognuna di esse ho assegnato l'ID dell'account di servizio come editor e proprietario dalla sezione permessi di gestione. Forse c'è un altro modo per abilitare l'API di amministrazione di Cloud SQL per questi account?

uscita dal proxy quando mio servizio cerca di parlare con DB:

./cloud_sql_proxy -dir=/cloudsql -instances=status-1268:us-central1:status- dev=tcp:3306 & mysql -u status_stg --host 127.0.0.1 
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (61) 
2016/04/04 11:26:58 Open socket for "status-1268:us-central1:status-dev" at  "127.0.0.1:3306" 
2016/04/04 11:26:58 Socket prefix: /cloudsql 
2016/04/04 11:27:10 Got a connection for "status-1268:us-central1:status-dev" 
2016/04/04 11:27:11 couldn't connect to "status-1268:us-central1:status-dev": googleapi: Error 403: The client is not authorized to make this request., notAuthorized 
2016/04/04 11:29:08 Got a connection for "status-1268:us-central1:status-dev" 
2016/04/04 11:29:08 couldn't connect to "status-1268:us-central1:status-dev": googleapi: Error 403: The client is not authorized to make this request., notAuthorized 

pensieri su cosa cercare? Penso che mi manca qualcosa di base qui configurando gli account di servizio.

(Nel complesso, per il mio progetto sto facendo funzionare un node.js espresso app e sperando di collegarlo al 2 Gend nuvola istanza di SQL DB senza dover esporre con 0.0.0.0 come ho attualmente lavorando)

Grazie

risposta

2

Verificare la stringa di connessione. Sembra che le tue credenziali siano in ordine, quindi è probabile che tu abbia un errore nel nome dell'istanza.

vi consiglio di copiare & incollando il "nome di connessione Instance" dalla pagina Console Cloud per l'istanza:

instance details

+0

L'ho già impostato impostando la variabile di ambiente 'GOOGLE_APPLICATION_CREDENTIALS'. Se ciò non funzionava, c'è un errore diverso durante l'avvio del proxy che richiede il flag '-credential_file'. – georges

+0

Ah, vedo, mi dispiace che non era chiaro dal post originale. Ho aggiornato la mia risposta: ricontrolla il nome dell'istanza (incluso l'ID del progetto). – Vadim

+0

Incredibile. Grazie per il suggerimento, è stato davvero un brutto nome dopo tutto lo sguardo. – georges

3

Nel mio caso il problema era che l'account di servizio non ha avuto il ruolo corretto . Dovresti almeno impostarlo su Editor.

+1

Anche questo era il mio problema, con il messaggio di errore delineato nella domanda. L'account di servizio predefinito non dispone dei privilegi di editor necessari per avviare correttamente il proxy. – tmarthal

1

Ci sono molte ragioni per tale errore.

seguito viene soluzioni:

1) Copia nome dell'istanza da SQL 'panoramica' scheda. enter image description here

2) Non si può avere accesso nuvola client SQL.

here è più dettagliato.