Alıştırma - MySQL için Azure Veritabanı dağıtma

Tamamlandı

Bu alıştırmada My SQL Veritabanı için Azure örneğinizi oluşturacak ve örnek verilerle yükleyeceksiniz.

Örnek uygulamayı ve betiği alma

İlk olarak GitHub deposundan örnek uygulama ve kabuk betiğini kopyalayın:

git clone https://github.com/MicrosoftDocs/mslearn-jakarta-ee-azure.git

Projeyi kopyaladıktan sonra aşağıdaki dizinleri ve dosyaları görürsünüz:

├── Azure-MySQL-Setup-For-Sample-App.md
├── README.md
├── pom.xml
├── setup_mysql.sh
├── src
│   ├── main
│   │   ├── java
│   │   │   └── com
│   │   │       └── microsoft
│   │   │           └── azure
│   │   │               └── samples
│   │   │                   ├── JAXRSConfiguration.java
│   │   │                   ├── controllers
│   │   │                   │   ├── CityService.java
│   │   │                   │   └── CountryService.java
│   │   │                   ├── entities
│   │   │                   │   ├── City.java
│   │   │                   │   └── Country.java
│   │   │                   └── rest
│   │   │                       └── WorldServiceEndpoint.java
│   │   ├── resources
│   │   │   └── META-INF
│   │   │       └── persistence.xml
│   │   └── webapp
│   │       └── WEB-INF
│   │           ├── beans.xml
│   │           ├── createMySQLDataSource.sh
│   │           └── web.xml
│   └── test
│       └── java
│           └── com
│               └── microsoft
│                   └── azure
│                       └── samples
│                           └── SampleTest.java
└── world.sql

Azure'da oturum açma

Henüz yapmadıysanız Azure'da oturum açın:

az login

Varsayılan yükleme konumunu ayarlama

Bu modülde kullanılan betik tarafından yürütülen komutlar bir --location seçenek bekler. Aşağıdaki komutla bu seçenek için varsayılan bir değer belirtebilirsiniz.

az configure --defaults location=<desired location>

Dekont

Java EE uygulamanızı dağıtmak için aynı bölgeye değiştirmenizi öneririz.

MySQL için Azure Veritabanı örneği oluşturma

Oturum açtıktan sonra proje betiğini setup_mysql.sh kullanarak MySQL için Azure Veritabanı örneğinizi oluşturun. mslearn-jakarta-ee-azure dizininde olduğunuzdan emin olun.

Önemli

Aşağıdaki komutu bir IPv4 ortamında çalıştırın. Ortamınızın bir IPv6 adresi varsa, güvenlik duvarı yapılandırması henüz IPv6 adreslerini desteklemediğinden bu komut başarısız olur.

./setup_mysql.sh flexible

Komutun çıkışında görünen anahtar değerlerine dikkat edin. Bu değerleri sonraki adımlarda kullanacaksınız.

[INFO] -------------------------------------------------------
[INFO] Azure Database for MySQL Setup Completed SUCCESS
[INFO] -------------------------------------------------------
[INFO] 1. Please copy the following value into your temporal file
[INFO]
[INFO] RESOURCE GROUP is MySQL-RG-20201208152233
[INFO] MySQL HOSTNAME is mysqlserver-wqcnzwhqvw.mysql.database.azure.com
[INFO] MySQL USERNAME is azureuser
[INFO] MySQL PASSWORD is **********
[INFO]
[INFO]
[INFO] 2. Please execute the following command.
[INFO]
[INFO] mysql -u azureuser -h mysqlserver-wqcnzwhqvw.mysql.database.azure.com -p [Enter Key]
[INFO] Enter password: ********** [COPY&PASTE]
[INFO] 
[INFO] 
[INFO] 3. Clean up Resource (Delete MySQL DB)
[INFO] az group delete -n MySQL-RG-20201208152233
[INFO] -------------------------------------------------------

Örnek veritabanından veri alma

Bu modülde, resmi MySQL web sitesinden adlı world örnek bir veritabanı kullanacaksınız. Verileri almak için:

  1. Veritabanı dosyasını indirin:

    curl -o world-db.zip https://downloads.mysql.com/docs/world-db.zip
    
  2. Veritabanı dosyasının sıkıştırmasını açın:

    unzip world-db.zip
    
  3. SQL dosyasına erişin:

    cd world-db
    ls -l world.sql
    
    -rw-r--r--  1 ******  wheel  398635  1  7 12:25 world.sql
    

MySQL veritabanında oturum açma

MySQL veritabanını aldıktan sonra, Esnek Sunucu örneğinizi oluştururken kaydettiğiniz komut ve parolayı mysql kullanarak veritabanına erişebilirsiniz:

mysql -u azureuser -h mysqlserver-<your instance>.mysql.database.azure.com -p [Enter]
Enter password: [**********]
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 5.7.29-log MySQL Community Server (GPL)

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Uygulamanız için veritabanı ve tablolar oluşturma

Aşağıdaki mysql komutunu çalıştırın:

mysql> source world.sql
Query OK, 0 rows affected (0.01 sec)
....
....
Query OK, 0 rows affected (0.01 sec)

mysql>

Veritabanı world ve tabloları MySQL veritabanınızda otomatik olarak oluşturulur. Bu işlem birkaç dakika sürer.

Veritabanını ve tabloları onaylama

  1. Veritabanlarının sunucunuzda olduğunu onaylayın:

    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    | world              |
    +--------------------+
    5 rows in set (0.02 sec)
    
  2. Veritabanındaki verilerin üzerine world gelin:

    mysql> use world;
    Database changed
    
  3. Veritabanındaki world tabloları onaylayın:

    mysql> show tables;
    +-----------------+
    | Tables_in_world |
    +-----------------+
    | city            |
    | country         |
    | countrylanguage |
    +-----------------+
    3 rows in set (0.04 sec)
    

Örnek veritabanını sorgulama

Artık veritabanının içeriğini world görüntüleyebilirsiniz.

  1. Tüm kıta bilgilerini alın:

    mysql> select distinct Continent from country ;
    +---------------+
    | Continent     |
    +---------------+
    | North America |
    | Asia          |
    | Africa        |
    | Europe        |
    | South America |
    | Oceania       |
    | Antarctica    |
    +---------------+
    
  2. Kıtaya göre ülke adlarını ve ülke kodlarını alın:

    mysql> select code,name from country where Continent='Asia';
    +------+----------------------+
    | code | Name                 |
    +------+----------------------+
    | AFG  | Afghanistan          |
    | ARE  | United Arab Emirates |
    | ARM  | Armenia              |
    | AZE  | Azerbaijan           |
    | BGD  | Bangladesh           |
    | BHR  | Bahrain              |
    | BRN  | Brunei               |
    | BTN  | Bhutan               |
    | CHN  | China                |
    | CYP  | Cyprus               |
    | GEO  | Georgia              |
    | HKG  | Hong Kong SAR        |
    | IDN  | Indonesia            |
    | IND  | India                |
    | IRN  | Iran                 |
    | IRQ  | Iraq                 |
    | ISR  | Israel               |
    | JOR  | Jordan               |
    | JPN  | Japan                |
    .....
    | VNM  | Vietnam              |
    | YEM  | Yemen                |
    +------+----------------------+
    51 rows in set (0.02 sec)
    
  3. Nüfusu 1 milyondan büyük olan tüm şehirleri alın:

    mysql> select * from city where CountryCode='JPN' AND Population > 1000000 ORDER BY Population DESC;
    +------+---------------------+-------------+-----------+------------+
    | ID   | Name                | CountryCode | District  | Population |
    +------+---------------------+-------------+-----------+------------+
    | 1532 | Tokyo               | JPN         | Tokyo-to  |    7980230 |
    | 1533 | Jokohama [Yokohama] | JPN         | Kanagawa  |    3339594 |
    | 1534 | Osaka               | JPN         | Osaka     |    2595674 |
    | 1535 | Nagoya              | JPN         | Aichi     |    2154376 |
    | 1536 | Sapporo             | JPN         | Hokkaido  |    1790886 |
    | 1537 | Kioto               | JPN         | Kyoto     |    1461974 |
    | 1538 | Kobe                | JPN         | Hyogo     |    1425139 |
    | 1539 | Fukuoka             | JPN         | Fukuoka   |    1308379 |
    | 1540 | Kawasaki            | JPN         | Kanagawa  |    1217359 |
    | 1541 | Hiroshima           | JPN         | Hiroshima |    1119117 |
    | 1542 | Kitakyushu          | JPN         | Fukuoka   |    1016264 |
    +------+---------------------+-------------+-----------+------------+
    11 rows in set (0.33 sec)
    

Ünite özeti

Şimdi MySQL Sunucunuz için kurulumu ve hazırlığı tamamladınız. Sonraki ünitede Java EE (Jakarta EE) uygulamasını Azure Uygulaması Service üzerinde JBoss EAP'ye dağıtma ve yapılandırma adımlarını göreceksiniz.