Rychlý start: Použití Node.js k připojení a dotazování dat na flexibilním serveru Azure Database for MySQL
V tomto rychlém startu se připojíte k flexibilnímu serveru Azure Database for MySQL pomocí Node.js. Potom použijete příkazy SQL k dotazování, vkládání, aktualizaci a odstraňování dat v databázi z platforem Mac, Linux a Windows.
Tento článek předpokládá, že máte zkušenosti s vývojem pomocí Node.js, ale začínáte pracovat s flexibilním serverem Azure Database for MySQL.
Požadavky
Tento rychlý start jako výchozí bod využívá prostředky vytvořené v některém z těchto průvodců:
- Rychlý start: Vytvoření instance Azure Database for MySQL pomocí webu Azure Portal
- Rychlý start: Vytvoření instance flexibilního serveru Azure Database for MySQL pomocí Azure CLI
Důležité
Ujistěte se, že ip adresa, ze které se připojujete, byla přidána pravidla brány firewall serveru pomocí pravidel brány firewall pro flexibilní server Azure Database for MySQL pomocí webu Azure Portal nebo správy pravidel brány firewall pro flexibilní server Azure Database for MySQL pomocí Azure CLI.
Instalace Node.js a konektoru MySQL
V závislosti na vaší platformě nainstalujte Node.js podle pokynů v příslušné části. Pomocí npm nainstalujte balíček mysql2 a jeho závislosti do složky projektu.
Přejděte na stránku pro stažení Node.js a vyberte požadovanou možnost Instalační služby systému Windows.
Vytvořte místní složku projektu, například
nodejsmysql
.Otevřete příkazový řádek a pak změňte adresář do složky projektu, například
cd c:\nodejsmysql\
Spuštěním nástroje NPM nainstalujte knihovnu mysql2 do složky projektu.
cd c:\nodejsmysql\ "C:\Program Files\nodejs\npm" install mysql2 "C:\Program Files\nodejs\npm" list
Ověřte instalaci kontrolou výstupního
npm list
textu. Číslo verze se může lišit při vydání nových oprav.
Získání informací o připojení
Získejte informace o připojení potřebné k připojení k instanci flexibilního serveru Azure Database for MySQL. Potřebujete plně kvalifikovaný název serveru a přihlašovací údaje.
- Přihlaste se k portálu Azure.
- V nabídce vlevo na webu Azure Portal vyberte Všechny prostředky a vyhledejte server, který jste vytvořili (například mydemoserver).
- Vyberte název serveru.
- Na panelu Přehled serveru si poznamenejte Název serveru a Přihlašovací jméno správce serveru. Pokud zapomenete své heslo, můžete ho na tomto panelu také resetovat.
Spuštění ukázek kódu
- Vložte kód JavaScriptu do nových textových souborů a uložte ho do složky projektu s příponou souboru .js (například C:\nodejsmysql\createtable.js nebo /home/username/nodejsmysql/createtable.js).
- Nahraďte
host
možnosti ,user
password
adatabase
konfigurace v kódu hodnotami, které jste zadali při vytváření flexibilního serveru a databáze MySQL. - Získání certifikátu SSL: Pokud chcete používat šifrovaná připojení s klientskými aplikacemi, budete si muset stáhnout veřejný certifikát SSL, který je dostupný také v okně Sítě na webu Azure Portal, jak je znázorněno na následujícím snímku obrazovky.
Uložte soubor certifikátu do upřednostňovaného umístění.
ssl
V konfigurační možnosti nahraďteca-cert
název souboru cestou k tomuto místnímu souboru. Aplikace se tak bude moct bezpečně připojit k databázi přes PROTOKOL SSL.- Otevřete příkazový řádek nebo prostředí Bash a pak změňte adresář do složky
cd nodejsmysql
projektu . - Pokud chcete aplikaci spustit, zadejte příkaz uzlu následovaný názvem souboru, například
node createtable.js
. - Pokud aplikace uzlu ve Windows není ve vaší cestě proměnné prostředí, možná budete muset ke spuštění aplikace uzlu použít úplnou cestu, například
"C:\Program Files\nodejs\node.exe" createtable.js
Připojení, vytvoření tabulky a vložení dat
Pomocí následujícího kódu se připojte a nahrajte data s využitím příkazů CREATE TABLE a INSERT INTO jazyka SQL.
Metoda mysql.createConnection() se používá k rozhraní s instancí flexibilního serveru Azure Database for MySQL. Funkce connect() se používá k navázání připojení k serveru. Funkce query() se používá k provedení příkazu jazyka SQL na databázi MySQL.
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.')
});
};
Čtení dat
Pomocí následujícího kódu se připojte a načtěte data s využitím příkazu SELECT jazyka SQL.
Metoda mysql.createConnection() se používá k rozhraní s instancí flexibilního serveru Azure Database for MySQL. Metoda connect() se používá k navázání připojení k serveru. Metoda query() se používá k provedení příkazu jazyka SQL na databázi MySQL. Pole results slouží k ukládání výsledků dotazu.
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.')
});
};
Aktualizace dat
Pomocí následujícího kódu se připojte a aktualizujte data s využitím příkazu UPDATE jazyka SQL.
Metoda mysql.createConnection() se používá k rozhraní s instancí flexibilního serveru Azure Database for MySQL. Metoda connect() se používá k navázání připojení k serveru. Metoda query() se používá k provedení příkazu jazyka SQL na databázi MySQL.
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.')
});
};
Odstranění dat
Pomocí následujícího kódu se připojte a odstraňte data pomocí příkazu DELETE SQL.
Metoda mysql.createConnection() se používá k rozhraní s instancí flexibilního serveru Azure Database for MySQL. Metoda connect() se používá k navázání připojení k serveru. Metoda query() se používá k provedení příkazu jazyka SQL na databázi MySQL.
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.')
});
};
Vyčištění prostředků
Pokud chcete vyčistit všechny prostředky použité během tohoto rychlého startu, odstraňte skupinu prostředků pomocí následujícího příkazu:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes
Související obsah
- Připojení k flexibilnímu serveru Azure Database for MySQL pomocí šifrovaných připojení
- Koncepty připojení a sítě pro flexibilní server Azure Database for MySQL
- Správa pravidel brány firewall pro flexibilní server Azure Database for MySQL pomocí webu Azure Portal
- Vytváření a správa virtuálních sítí pro flexibilní server Azure Database for MySQL pomocí webu Azure Portal