Hızlı Başlangıç: MySQL için Azure Veritabanı - Esnek Sunucuda verileri bağlamak ve sorgulamak için Node.js kullanma
ŞUNLAR IÇIN GEÇERLIDIR: MySQL için Azure Veritabanı - Esnek Sunucu
Bu hızlı başlangıçta, Node.js kullanarak MySQL için Azure Veritabanı esnek sunucuya bağlanacaksınız. Ardından SQL deyimlerini kullanarak Mac, Linux ve Windows platformlarındaki veritabanındaki verileri sorgular, ekler, güncelleştirir ve silersiniz.
Bu makalede, Node.js kullanarak geliştirme konusunda bilgi sahibi olduğunuz, ancak esnek MySQL için Azure Veritabanı sunucuyla çalışmaya yeni olduğunuz varsayılır.
Önkoşullar
Bu hızlı başlangıçta, başlangıç noktası olarak şu kılavuzlardan birinde oluşturulan kaynaklar kullanılmaktadır:
- Azure portalını kullanarak MySQL için Azure Veritabanı esnek sunucu örneği oluşturma
- Azure CLI kullanarak MySQL için Azure Veritabanı esnek sunucu örneği oluşturma
Önemli
Bağlandığınız IP adresinin Azure portalı veya Azure CLI kullanılarak sunucunun güvenlik duvarı kurallarına eklendiğinden emin olun
Node.js’yi ve MySQL bağlayıcısını yükleme
Platformunuza bağlı olarak, Node.js yüklemek için uygun bölümdeki yönergeleri izleyin. proje klasörünüzde mysql2 paketini ve bağımlılıklarını yüklemek için npm kullanın.
Node.js indirme sayfasını ziyaret edin ve istediğiniz Windows yükleyici seçeneğini belirleyin.
nodejsmysql
gibi yerel bir proje klasörü oluşturun.Komut istemini açın ve ardından dizini proje klasörüne değiştirin, örneğin
cd c:\nodejsmysql\
Proje klasörüne mysql2 kitaplığını yüklemek için NPM aracını çalıştırın.
cd c:\nodejsmysql\ "C:\Program Files\nodejs\npm" install mysql2 "C:\Program Files\nodejs\npm" list
Çıkış metnini denetleyerek
npm list
yüklemeyi doğrulayın. Yeni yamalar yayımlandıkça sürüm numarası değişebilir.
Bağlantı bilgilerini alma
MySQL için Azure Veritabanı esnek sunucu örneğine bağlanmak için gereken bağlantı bilgilerini alın. Tam sunucu adına ve oturum açma kimlik bilgilerine ihtiyacınız vardır.
- Azure Portal’ında oturum açın.
- Azure portalında sol taraftaki menüden Tüm kaynaklar'ı seçin ve oluşturduğunuz sunucuyu (mydemoserver gibi) arayın.
- Sunucu adını seçin.
- Sunucunun Genel Bakış panelinden Sunucu adı ile Sunucu yöneticisi oturum açma adı’nı not alın. Parolanızı unutursanız, bu panelden parolayı da sıfırlayabilirsiniz.
Kod örneklerini çalıştırma
- JavaScript kodunu yeni metin dosyalarına yapıştırın ve dosya uzantısı .js (C:\nodejsmysql\createtable.js veya /home/username/nodejsmysql/createtable.js gibi) olan bir proje klasörüne kaydedin.
- Koddaki ,
password
user
vedatabase
yapılandırma seçeneklerini MySQL esnek sunucusunu ve veritabanını oluştururken belirttiğiniz değerlerle değiştirinhost
. - SSL sertifikası alma: İstemci uygulamalarınızla şifrelenmiş bağlantıları kullanmak için, aşağıdaki ekran görüntüsünde gösterildiği gibi Azure portalı Ağ dikey penceresinde de kullanılabilen genel SSL sertifikasını indirmeniz gerekir.
Sertifika dosyasını tercih ettiğiniz konuma kaydedin.
- Yapılandırma seçeneğinde
ssl
dosya adını bu yerel dosyanın yoluyla değiştirinca-cert
. Bu, uygulamanın SSL üzerinden veritabanına güvenli bir şekilde bağlanmasına olanak sağlar. - Komut istemini veya bash kabuğunu açın ve dizini proje klasörünüz
cd nodejsmysql
olarak değiştirin. - Uygulamayı çalıştırmak için düğüm komutunu ve ardından gibi
node createtable.js
dosya adını girin. - Windows'da, düğüm uygulaması ortam değişken yolunuz içinde değilse, düğüm uygulamasını başlatmak için tam yolu kullanmanız gerekebilir; örneğin,
"C:\Program Files\nodejs\node.exe" createtable.js
Bağlanma, tablo oluşturma ve veri ekleme
Bağlanıp CREATE TABLE ve INSERT INTO SQL deyimlerini kullanarak verileri yüklemek için aşağıdaki kodu kullanın.
mysql.createConnection() yöntemi, MySQL için Azure Veritabanı esnek sunucu örneğiyle arabirim oluşturmak için kullanılır. Sunucuyla bağlantı kurmak için connect() işlevi kullanılır. MySQL veritabanına karşı SQL sorgusunu yürütmek için query() işlevi kullanılır.
const mysql = require('mysql2');
const fs = require('fs');
var config =
{
host: 'your_server_name.mysql.database.azure.com',
user: 'your_admin_name',
password: 'your_admin_password',
database: 'quickstartdb',
port: 3306,
ssl: {ca: fs.readFileSync("your_path_to_ca_cert_file_DigiCertGlobalRootCA.crt.pem")}
};
const conn = new mysql.createConnection(config);
conn.connect(
function (err) {
if (err) {
console.log("!!! Cannot connect !!! Error:");
throw err;
}
else
{
console.log("Connection established.");
queryDatabase();
}
});
function queryDatabase()
{
conn.query('DROP TABLE IF EXISTS inventory;',
function (err, results, fields) {
if (err) throw err;
console.log('Dropped inventory table if existed.');
}
)
conn.query('CREATE TABLE inventory (id serial PRIMARY KEY, name VARCHAR(50), quantity INTEGER);',
function (err, results, fields) {
if (err) throw err;
console.log('Created inventory table.');
}
)
conn.query('INSERT INTO inventory (name, quantity) VALUES (?, ?);', ['banana', 150],
function (err, results, fields) {
if (err) throw err;
else console.log('Inserted ' + results.affectedRows + ' row(s).');
}
)
conn.query('INSERT INTO inventory (name, quantity) VALUES (?, ?);', ['orange', 250],
function (err, results, fields) {
if (err) throw err;
console.log('Inserted ' + results.affectedRows + ' row(s).');
}
)
conn.query('INSERT INTO inventory (name, quantity) VALUES (?, ?);', ['apple', 100],
function (err, results, fields) {
if (err) throw err;
console.log('Inserted ' + results.affectedRows + ' row(s).');
}
)
conn.end(function (err) {
if (err) throw err;
else console.log('Done.')
});
};
Verileri okuma
Bağlanmak ve SELECT SQL deyimi kullanarak verileri okumak için aşağıdaki kodu kullanın.
mysql.createConnection() yöntemi, MySQL için Azure Veritabanı esnek sunucu örneğiyle arabirim oluşturmak için kullanılır. Sunucuyla bağlantı kurmak için connect() yöntemi kullanılır. MySQL veritabanına karşı SQL sorgusunu yürütmek için query() yöntemi kullanılır. Sorgunun sonuçlarını tutmak için sonuç dizisi kullanılır.
const mysql = require('mysql2');
const fs = require('fs');
var config =
{
host: 'your_server_name.mysql.database.azure.com',
user: 'your_admin_name',
password: 'your_admin_password',
database: 'quickstartdb',
port: 3306,
ssl: {ca: fs.readFileSync("your_path_to_ca_cert_file_DigiCertGlobalRootCA.crt.pem")}
};
const conn = new mysql.createConnection(config);
conn.connect(
function (err) {
if (err) {
console.log("!!! Cannot connect !!! Error:");
throw err;
}
else {
console.log("Connection established.");
readData();
}
});
function readData(){
conn.query('SELECT * FROM inventory',
function (err, results, fields) {
if (err) throw err;
else console.log('Selected ' + results.length + ' row(s).');
for (i = 0; i < results.length; i++) {
console.log('Row: ' + JSON.stringify(results[i]));
}
console.log('Done.');
})
conn.end(
function (err) {
if (err) throw err;
else console.log('Closing connection.')
});
};
Verileri güncelleştirme
Bağlanmak ve bir UPDATE SQL deyimi kullanarak verileri güncelleştirmek için aşağıdaki kodu kullanın.
mysql.createConnection() yöntemi, MySQL için Azure Veritabanı esnek sunucu örneğiyle arabirim oluşturmak için kullanılır. Sunucuyla bağlantı kurmak için connect() yöntemi kullanılır. MySQL veritabanına karşı SQL sorgusunu yürütmek için query() yöntemi kullanılır.
const mysql = require('mysql2');
const fs = require('fs');
var config =
{
host: 'your_server_name.mysql.database.azure.com',
user: 'your_admin_name',
password: 'your_admin_password',
database: 'quickstartdb',
port: 3306,
ssl: {ca: fs.readFileSync("your_path_to_ca_cert_file_DigiCertGlobalRootCA.crt.pem")}
};
const conn = new mysql.createConnection(config);
conn.connect(
function (err) {
if (err) {
console.log("!!! Cannot connect !!! Error:");
throw err;
}
else {
console.log("Connection established.");
updateData();
}
});
function updateData(){
conn.query('UPDATE inventory SET quantity = ? WHERE name = ?', [75, 'banana'],
function (err, results, fields) {
if (err) throw err;
else console.log('Updated ' + results.affectedRows + ' row(s).');
})
conn.end(
function (err) {
if (err) throw err;
else console.log('Done.')
});
};
Veri silme
DELETE SQL deyimini kullanarak bağlanmak ve verileri silmek için aşağıdaki kodu kullanın.
mysql.createConnection() yöntemi, MySQL için Azure Veritabanı esnek sunucu örneğiyle arabirim oluşturmak için kullanılır. Sunucuyla bağlantı kurmak için connect() yöntemi kullanılır. MySQL veritabanına karşı SQL sorgusunu yürütmek için query() yöntemi kullanılır.
const mysql = require('mysql2');
const fs = require('fs');
var config =
{
host: 'your_server_name.mysql.database.azure.com',
user: 'your_admin_name',
password: 'your_admin_password',
database: 'quickstartdb',
port: 3306,
ssl: {ca: fs.readFileSync("your_path_to_ca_cert_file_DigiCertGlobalRootCA.crt.pem")}
};
const conn = new mysql.createConnection(config);
conn.connect(
function (err) {
if (err) {
console.log("!!! Cannot connect !!! Error:");
throw err;
}
else {
console.log("Connection established.");
deleteData();
}
});
function deleteData(){
conn.query('DELETE FROM inventory WHERE name = ?', ['orange'],
function (err, results, fields) {
if (err) throw err;
else console.log('Deleted ' + results.affectedRows + ' row(s).');
})
conn.end(
function (err) {
if (err) throw err;
else console.log('Done.')
});
};
Kaynakları temizleme
Bu hızlı başlangıç sırasında kullanılan tüm kaynakları temizlemek için aşağıdaki komutu kullanarak kaynak grubunu silin:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes
Sonraki adımlar
- Esnek MySQL için Azure Veritabanı sunucuda Aktarım Katmanı Güvenliği (TLS 1.2) kullanılarak şifrelenmiş bağlantı.
- Esnek MySQL için Azure Veritabanı sunucuda ağ iletişimi hakkında daha fazla bilgi edinin.
- Azure portalını kullanarak MySQL için Azure Veritabanı esnek sunucu güvenlik duvarı kuralları oluşturun ve yönetin.
- Azure portalını kullanarak MySQL için Azure Veritabanı esnek sunucu sanal ağı oluşturun ve yönetin.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin