Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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é
Přidejte IP adresu, ze které se připojujete, k pravidlům brány firewall serveru pomocí Azure Portal nebo 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 mysql2 balíček 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
mysql2knihovnu do složky projektu.cd c:\nodejsmysql\ "C:\Program Files\nodejs\npm" install mysql2 "C:\Program Files\nodejs\npm" listOvěřte instalaci kontrolou výstupního
npm listtextu. Čí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 možnosti
host,user,passwordadatabasekonfigurace v kódu hodnotami, které jste zadali při vytváření serveru MySQL Flexible Server a databáze. - Získání certifikátu TLS: Pokud chcete používat šifrovaná připojení s klientskými aplikacemi, musíte postupovat podle pokynů v protokolu TLS (Transport Layer Security) ve službě Azure Database for MySQL.
Uložte soubor certifikátu do upřednostňovaného umístění.
-
sslV konfigurační možnosti nahraďteca-certná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 nodejsmysqlprojektu . - 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