Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här snabbstarten ansluter du till Azure Database for MySQL – flexibel server med hjälp av Node.js. Sedan använder du SQL-instruktioner för att fråga, infoga, uppdatera och ta bort data i databasen från Mac-, Linux- och Windows-plattformar.
Den här artikeln förutsätter att du är bekant med att utveckla med hjälp av Node.js, men du är nybörjare på att arbeta med Azure Database for MySQL – flexibel server.
Förutsättningar
I den här snabbstarten används de resurser som skapades i någon av följande guider som utgångspunkt:
- Snabbstart: Skapa en instans av Azure Database for MySQL med Azure Portal
- Snabbstart: Skapa en instans av Azure Database for MySQL – flexibel server med hjälp av Azure CLI
Viktigt!
Kontrollera att IP-adressen som du ansluter från har lagts till serverns brandväggsregler med hjälp av Hantera brandväggsregler för Azure Database for MySQL – flexibel server med hjälp av Azure Portal eller Hantera brandväggsregler för Azure Database for MySQL – flexibel server med Azure CLI
Installera Node.js och MySQL Connector
Beroende på din plattform följer du anvisningarna i lämpligt avsnitt för att installera Node.js. Använd npm för att installera mysql2-paketet och dess beroenden i projektmappen.
Besök hämtningssidan för Node.js och välj sedan önskat alternativ för Windows installeringsverktyg.
Skapa en lokal projektmapp som till exempel
nodejsmysql.Öppna kommandotolken och ändra sedan katalogen till projektmappen, till exempel
cd c:\nodejsmysql\Kör NPM-verktyget för att installera mysql2-biblioteket i projektmappen.
cd c:\nodejsmysql\ "C:\Program Files\nodejs\npm" install mysql2 "C:\Program Files\nodejs\npm" listVerifiera installationen genom att kontrollera
npm list-utdatatexten. Versionsnumret kan variera när nya korrigeringar släpps.
Hämta anslutningsinformation
Hämta den anslutningsinformation som behövs för att ansluta till Azure Database for MySQL – flexibel serverinstans. Du behöver det fullständigt kvalificerade servernamnet och inloggningsuppgifterna.
- Logga in på Azure-portalen.
- På den vänstra menyn i Azure Portal väljer du Alla resurser och söker sedan efter den server som du har skapat (till exempel mydemoserver).
- Välj servernamnet.
- På serverpanelen Översikt antecknar du Servernamn och Inloggningsnamn för serveradministratören. Om du glömmer lösenordet kan du även återställa det på den här panelen.
Kör kodexemplen
- Klistra in JavaScript-koden i nya textfiler och spara den sedan i en projektmapp med filnamnstillägget .js (till exempel C:\nodejsmysql\createtable.js eller /home/username/nodejsmysql/createtable.js).
- Ersätt
hostalternativen ,passworduserochdatabaseconfig i koden med de värden som du angav när du skapade MySQL – flexibel server och databas. - Hämta SSL-certifikat: Om du vill använda krypterade anslutningar med dina klientprogram måste du ladda ned det offentliga SSL-certifikatet som också är tillgängligt i bladet Azure Portal Nätverk enligt skärmbilden nedan.
Spara certifikatfilen på önskad plats.
- I konfigurationsalternativet
sslersätter duca-certfilnamnet med sökvägen till den här lokala filen. På så sätt kan programmet ansluta säkert till databasen via SSL. - Öppna kommandotolken eller bash-gränssnittet och ändra sedan katalogen till projektmappen
cd nodejsmysql. - Om du vill köra programmet anger du nodkommandot följt av filnamnet, till exempel
node createtable.js. - Om nodprogrammet inte finns i din miljövariabelsökväg i Windows kan du behöva använda den fullständiga sökvägen för att starta nodprogrammet, till exempel
"C:\Program Files\nodejs\node.exe" createtable.js
Ansluta, skapa tabell och infoga data
Använd följande kod för att ansluta och läsa in data med hjälp av SQL-instruktionerna CREATE TABLE och INSERT INTO.
Metoden mysql.createConnection() används för att interagera med Azure Database for MySQL – flexibel serverinstans. Funktionen connect() används för att etablera anslutningen till servern. Funktionen query() används för att köra SQL-frågor mot en MySQL-databas.
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.')
});
};
Läsa data
Använd följande kod för att ansluta och läsa data med en SELECT-SQL-instruktion.
Metoden mysql.createConnection() används för att interagera med Azure Database for MySQL – flexibel serverinstans. Metoden connect() används för att etablera anslutningen till servern. Metoden query() används för att köra SQL-frågor mot en MySQL-databas. Resultatmatrisen används för resultat från frågan.
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.')
});
};
Uppdatera data
Använd följande kod för att ansluta och uppdatera data med en UPDATE-SQL-instruktion.
Metoden mysql.createConnection() används för att interagera med Azure Database for MySQL – flexibel serverinstans. Metoden connect() används för att etablera anslutningen till servern. Metoden query() används för att köra SQL-frågor mot en MySQL-databas.
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.')
});
};
Ta bort data
Använd följande kod för att ansluta och ta bort data med hjälp av en DELETE SQL-instruktion .
Metoden mysql.createConnection() används för att interagera med Azure Database for MySQL – flexibel serverinstans. Metoden connect() används för att etablera anslutningen till servern. Metoden query() används för att köra SQL-frågor mot en MySQL-databas.
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.')
});
};
Rensa resurser
Om du vill rensa alla resurser som används under den här snabbstarten tar du bort resursgruppen med följande kommando:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes
Relaterat innehåll
- Anslut till Azure Database for MySQL – flexibel server med krypterade anslutningar
- Anslutnings- och nätverksbegrepp för Azure Database for MySQL – flexibel server
- Hantera brandväggsregler för Azure Database for MySQL – flexibel server med hjälp av Azure Portal
- Skapa och hantera virtuella nätverk för Azure Database for MySQL – flexibel server med hjälp av Azure Portal