7

2. nesil bulut sql örneği için yerel olarak bir bağlantı kurmaya çalışıyorum. proxy içinYerel olarak cloud_sql_proxy ile yetkisiz bir hata alma

Çağrı API bölümünden düzgün hizmet hesaplarını nasıl kurulacağı hakkında biraz belirsiz değilim

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

, yani varsayılan App motoru varsayılan hizmet hesabı ve her ikisi ile çalıştı Motor varsayılan hizmet hesabını hesaplayın. Ayrıca yeni bir servis hesabı oluşturdum. Her biri için yönetim hesabı kimliğini Editör ve Sahip olarak yönetme izinleri bölümünden atadım. Belki de bu hesaplar için Cloud SQL Yönetici API'sini etkinleştirmenin başka bir yolu var mı? proxy'den

Çıktı benim hizmet DB konuşmaya çalışır: ne aramak için üzerine

./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 

Düşünceler? Hizmet hesaplarını yapılandırmada temel bir şey eksik düşünüyorum.

(Genel olarak, benim proje için ben şu anda çalışan gibi 0.0.0.0 ile maruz kalmadan bir node.js ekspres uygulamasını çalıştıran ve 2 Gend bulut sql DB örneğine bağlamak umuyorum) Teşekkürler

cevap

2

Lütfen bağlantı dizesini iki kez kontrol edin. Kimlik bilgilerinizin sıralı olduğu anlaşılıyor, bu nedenle örnek isminde bir hata olması muhtemeldir.

Ben mesela Bulut Konsolu sayfasında "Örnek bağlantı adı" yapıştırarak & kopyalama öneririz: Benim durumumda

instance details

+0

Bunu, "GOOGLE_APPLICATION_CREDENTIALS" ortam değişkenini ayarlayarak zaten var. Bu işe yaramazsa, '-credential_file' işaretini isteyen proxy'yi başlatan farklı bir hata var. – georges

+0

Ah, görüyorum, orijinal yazıdan net olmadığı için üzgünüm. Cevabımı güncelledim - lütfen örnek adını (proje kimliği dahil) iki kez kontrol edin. – Vadim

+0

İnanılmaz. Öneri için teşekkürler, tüm bakanlıktan sonra gerçekten kötü bir isimdi. – georges

3

sorun hizmet hesabı uygun rolü yoktu olmasıydı . En azından Editör'e ayarlamanız gerekir.

+1

Bu da benim sorunumdu, soruda ana hatları verilen hata mesajıyla. Varsayılan hizmet hesabı, proxy'yi düzgün bir şekilde başlatmak için gereken düzenleyici ayrıcalıklarına sahip değildir. – tmarthal

1

Böyle bir hatanın pek çok nedeni vardır. SQL örneği 'genel' yazdır

1) kopyalama örneği adı:

aşağıdaki

çözümdür. enter image description here

2) Sen bulut sql istemcisi erişimini olmayabilir.

here daha fazla detaydır.