Google Cloud SQL'i Uygulamalar ve Araçlara Bağla?

Google Cloud SQL’i Uygulamalar (Google App Engine gibi) ve Araçlar (mySQL tezgahı) ile nasıl bağlayabilirim?

Bu belgede, bir Google Cloud SQL Örneği oluşturmayı ve bunları Google App Engine uygulamanızda ve MySQL Workbench yönetici aracında nasıl bağlayacağınızı göreceğiz.

Google Bulut SQL:

Google Cloud SQL, buluttaki ilişkisel MySQL veritabanlarınızı kurmayı, korumayı, yönetmeyi ve yönetmeyi kolaylaştıran, tümüyle yönetilen bir veritabanı hizmetidir.

Google Cloud SQL, App Engine uygulamanızla kullanabileceğiniz ilişkisel bir veritabanı sağlar. Cloud SQL, Google’ın bulutunda yaşayan bir MySQL veritabanıdır.

bahsetmek:

https://cloud.google.com/sql/

https://cloud.google.com/sql/docs/

SQL Örnekleri Oluşturma:

Google Cloud SQL örneği, Google’ın bulutunda barındırılan bir MySQL veritabanıdır.

  1. Google Cloud Platform’da Cloud SQL Örnekleri sayfasına gidin Console (https://console.cloud.google.com/sql/instances) and Click Create instance.

  2. Birinci Nesil Seç’e tıklayın, Bir ad girin ve Bir katman seçin. the instance and Click Create.

  3. Örnek başlatmayı bitirdikten sonra, örneği seçin. open it.

  4. Erişim Kontrolü > Kullanıcılar’da Kullanıcı hesabı oluştur’a tıklayın ve bir user with name root and specify a password (root_password). This creates the MySQL user ‘root’@’%’.

  5. Veritabanlarında, Yeni Veritabanı’na tıklayın ve bir veritabanı oluşturun. DataBase name (DataBase_Name)

MySQL Workbench:

MySQL Workbench, veritabanı mimarları, geliştiriciler ve DBA’lar için birleşik bir görsel araçtır. MySQL Workbench, sunucu yapılandırması, kullanıcı yönetimi, yedekleme ve çok daha fazlası için veri modelleme, SQL geliştirme ve kapsamlı yönetim araçları sağlar.

http://www.mysql.com/products/workbench/ adresine bakın

Şimdi MySQL Workbench ile Google Cloud SQL örnek veritabanınıza nasıl bağlanacağınızı göreceğiz.

Erişimin yapılandırılması

  1. Google Cloud Platform’da Cloud SQL Örnekleri sayfasına gidin Console and select the instance.

  2. Erişim Kontrolü > IP adresi’nde, IPv4 adresi iste’ye tıklayın ve kopyalayın it(Instance_IPv4_address). It is needed to connect your Google Cloud SQL instance database with Admin tools like MySQL Workbench.

    note: You will be charged for IPv4 address @ $0.01 each hour the instance is inactive and $0.1 each hour the instance is active

  3. Genel IP adresinizi bulmak için Google ‘ip adresi’

  4. Erişim Kontrolü > Yetkilendirme > Yetkili ağlar’da Ekle’ye tıklayın. network and enter your IP address.

  5. Erişim Kontrolü > Kullanıcılar bölümünde, kullanıcı adı (kullanıcıAdı) ile bir kullanıcı oluşturun, password (password) and the option ‘Allow any host selected’. It is recommended to use a seperate user account to access from WorkBench

Bağlanıyor

  1. MySQL Workbench ana sayfa görünümünde Yeni Bağlantı’ya tıklayın.

  2. Yeni Bağlantı Kur penceresinde bir Bağlantı Adı girin, Hostname and Username

  3. Bağlantıyı Test Et’e tıklayın. Sizden bir şifre istenecektir.

  4. MySQL bağlantısı başarılı olduktan sonra, Tamam’a tıklayın ve the saved connection to open SQL Editor

Google Uygulama Motoru:

Google App Engine, ölçeklenebilir web uygulamaları ve mobil arka uçlar oluşturmaya yönelik bir platformdur. App Engine, uygulamanızı otomatik olarak ölçeklendirir.

https://cloud.google.com/appengine adresine bakın

Şimdi bir App Engine uygulaması ile bir Cloud SQL örneği arasında nasıl bağlantı kurulacağını göreceğiz.

Erişimin yapılandırılması

  1. Google Cloud Platform’da Cloud SQL Örnekleri sayfasına gidin Console and select the instance.

  2. Erişim Kontrolü > Yetkilendirme > Yetkili Uygulama Motoru’nda applications, click Add application ID and enter the application ID. Click Done and Save.

  3. Genel Bakış > Özellikler’de ‘Örnek bağlantı adını’ kopyalayın (Instance_Connection_Name)

  4. Google Web Uygulaması Projenizde, war/WEB-INF/appengine-web.xml add, true

Kod örneği:

Google App Engine için Bir Örnek - Java Standart Ortamı

public static Connection connect() throws ClassNotFoundException, SQLException {
    String url = null;

    {
        if (SystemProperty.environment.value() == SystemProperty.Environment.Value.Production) {

            // Connecting from App Engine.
            Class.forName(Messages.getString("com.mysql.jdbc.GoogleDriver")); 
            url = Messages.getString("jdbc:google:mysql://{{Instance_Connection_Name}}/{{DataBase_Name}}?user=root&password={{root_password}}");
        } else {
            // Connecting from an external network or localhost
            Class.forName(Messages.getString("com.mysql.jdbc.Driver"));
            url = Messages.getString("jdbc:mysql://{{Instance_IPv4_address}}:3306/{{DataBase_Name}}?user={{userName}}&password={{password}}");
        }

        Connection conn = DriverManager.getConnection(url);

        return conn;
    }
}