Alıştırma - MySQL için Azure Veritabanı dağıtma
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:
Veritabanı dosyasını indirin:
curl -o world-db.zip https://downloads.mysql.com/docs/world-db.zip
Veritabanı dosyasının sıkıştırmasını açın:
unzip world-db.zip
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
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)
Veritabanındaki verilerin üzerine
world
gelin:mysql> use world; Database changed
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.
Tüm kıta bilgilerini alın:
mysql> select distinct Continent from country ; +---------------+ | Continent | +---------------+ | North America | | Asia | | Africa | | Europe | | South America | | Oceania | | Antarctica | +---------------+
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)
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.