Rövid útmutató: Adatok csatlakoztatása és lekérdezése a Node.js használatával a rugalmas Azure Database for MySQL-kiszolgálón
Ebben a rövid útmutatóban Node.js használatával csatlakozhat a rugalmas Azure Database for MySQL-kiszolgálóhoz. Ezután SQL-utasításokkal lekérdezheti, beszúrhatja, frissítheti és törölheti az adatbázisban lévő adatokat Mac, Linux és Windows platformokról.
Ez a cikk feltételezi, hogy ismeri a Node.js használatával történő fejlesztést, de még nem használta a rugalmas Azure Database for MySQL-kiszolgálót.
Előfeltételek
Ebben a rövid útmutatóban a következő útmutatók valamelyikében létrehozott erőforrásokat használunk kiindulási pontként:
- Rövid útmutató: Azure Database for MySQL-példány létrehozása az Azure Portallal
- Rövid útmutató: Azure Database for MySQL-példány létrehozása – Rugalmas kiszolgáló létrehozása az Azure CLI használatával
Fontos
Győződjön meg arról, hogy a kiszolgáló tűzfalszabályai az Azure Database for MySQL tűzfalszabályainak kezelése – Rugalmas kiszolgáló az Azure Portalon vagy az Azure Database for MySQL tűzfalszabályainak kezelése – rugalmas kiszolgáló az Azure CLI használatával lettek hozzáadva
A Node.js és a MySQL-összekötő telepítése
A platformtól függően kövesse a megfelelő szakaszban található utasításokat a Node.js telepítéséhez. Az npm használatával telepítse a mysql2-csomagot és annak függőségeit a projektmappába.
Látogasson el a Node.js letöltési oldalára, majd válassza ki a kívánt Windows-telepítési lehetőséget.
Hozzon létre egy helyi projektmappát, például:
nodejsmysql
.Nyissa meg a parancssort, majd módosítsa a könyvtárat a projektmappára, például
cd c:\nodejsmysql\
Futtassa az NPM eszközt a mysql2-kódtár projektmappába való telepítéséhez.
cd c:\nodejsmysql\ "C:\Program Files\nodejs\npm" install mysql2 "C:\Program Files\nodejs\npm" list
Ellenőrizze a telepítést a
npm list
kimeneti szöveg ellenőrzésével. A verziószám az új javítások megjelenésekor változhat.
Kapcsolatadatok lekérése
Szerezze be a rugalmas Azure Database for MySQL-kiszolgálópéldányhoz való csatlakozáshoz szükséges kapcsolati adatokat. Szüksége van a teljes kiszolgálónévre, és be kell jelentkeznie a hitelesítő adatokkal.
- Jelentkezzen be az Azure Portalra.
- Az Azure Portal bal oldali menüjében válassza a Minden erőforrás lehetőséget, majd keresse meg a létrehozott kiszolgálót (például a mydemoservert).
- Válassza ki a kiszolgálónevet.
- A kiszolgáló Áttekintés paneléről jegyezze fel a Kiszolgálónevet és a Kiszolgáló-rendszergazdai bejelentkezési nevet. Ha elfelejti a jelszavát, ezen a panelen új jelszót is tud kérni.
A kódminták futtatása
- Illessze be a JavaScript-kódot az új szövegfájlokba, majd mentse egy projektmappába .js fájlkiterjesztéssel (például C:\nodejsmysql\createtable.js vagy /home/username/nodejsmysql/createtable.js).
- Cserélje le
host
a kódban lévő ,user
éspassword
database
konfigurációs beállításokat a rugalmas MySQL-kiszolgáló és -adatbázis létrehozásakor megadott értékekre. - SSL-tanúsítvány beszerzése: Ha titkosított kapcsolatokat szeretne használni az ügyfélalkalmazásaival, le kell töltenie a nyilvános SSL-tanúsítványt , amely az Azure Portal Hálózatkezelés paneljén is elérhető az alábbi képernyőképen látható módon.
Mentse a tanúsítványfájlt a kívánt helyre.
ssl
A konfigurációs beállításban cserélje le aca-cert
fájlnevet a helyi fájl elérési útjára. Ez lehetővé teszi, hogy az alkalmazás biztonságosan csatlakozzon az adatbázishoz SSL-en keresztül.- Nyissa meg a parancssort vagy a bash-felületet, majd módosítsa a könyvtárat a projektmappába
cd nodejsmysql
. - Az alkalmazás futtatásához adja meg a csomópont parancsot, majd a fájl nevét, például
node createtable.js
. - Windows rendszeren, ha a csomópontalkalmazás nem szerepel a környezeti változó elérési útján, előfordulhat, hogy a teljes elérési utat kell használnia a csomópontalkalmazás elindításához, például
"C:\Program Files\nodejs\node.exe" createtable.js
Csatlakozás, táblák létrehozása és adatok beszúrása
A következő kóddal csatlakozhat, és betöltheti az adatokat a CREATE TABLE és az INSERT INTO SQL-utasításokkal.
A mysql.createConnection() metódus a rugalmas Azure Database for MySQL-kiszolgálópéldányhoz való kapcsolódásra szolgál. A connect() függvény a kiszolgálóval való kapcsolat létesítésére szolgál. A query() függvény az SQL-lekérdezés MySQL-adatbázison való végrehajtására szolgál.
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.')
});
};
Adatok beolvasása
A következő kóddal csatlakozhat, és beolvashatja az adatokat a SELECT SQL-utasítással.
A mysql.createConnection() metódus a rugalmas Azure Database for MySQL-kiszolgálópéldányhoz való kapcsolódásra szolgál. A connect() metódus a kiszolgálóval való kapcsolat létesítésére szolgál. A query() metódus az SQL-lekérdezés MySQL-adatbázison való végrehajtására szolgál. Az eredménytömb a lekérdezés eredményeinek tárolására használható.
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.')
});
};
Adatok frissítése
Az alábbi kód használatával csatlakozhat és végezheti el az adatok módosítását egy UPDATE SQL-utasítás segítségével.
A mysql.createConnection() metódus a rugalmas Azure Database for MySQL-kiszolgálópéldányhoz való kapcsolódásra szolgál. A connect() metódus a kiszolgálóval való kapcsolat létesítésére szolgál. A query() metódus az SQL-lekérdezés MySQL-adatbázison való végrehajtására szolgál.
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.')
});
};
Adatok törlése
Az alábbi kóddal csatlakozhat és törölhet adatokat egy DELETE SQL utasítással.
A mysql.createConnection() metódus a rugalmas Azure Database for MySQL-kiszolgálópéldányhoz való kapcsolódásra szolgál. A connect() metódus a kiszolgálóval való kapcsolat létesítésére szolgál. A query() metódus az SQL-lekérdezés MySQL-adatbázison való végrehajtására szolgál.
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.')
});
};
Az erőforrások eltávolítása
A rövid útmutató során használt összes erőforrás törléséhez törölje az erőforráscsoportot az alábbi paranccsal:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes
Kapcsolódó tartalom
- Csatlakozás rugalmas Azure Database for MySQL-kiszolgálóhoz titkosított kapcsolatokkal
- Kapcsolati és hálózatkezelési fogalmak az Azure Database for MySQL-hez – rugalmas kiszolgáló
- Az Azure Database for MySQL tűzfalszabályainak kezelése – Rugalmas kiszolgáló az Azure Portal használatával
- Virtuális hálózatok létrehozása és kezelése az Azure Database for MySQL-hez – Rugalmas kiszolgáló az Azure Portal használatával