Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Neste início rápido, você se conecta ao Banco de Dados do Azure para Servidor Flexível MySQL usando Node.js. Em seguida, você usa instruções SQL para consultar, inserir, atualizar e excluir dados no banco de dados das plataformas Mac, Linux e Windows.
Este artigo pressupõe que você esteja familiarizado com o desenvolvimento usando Node.js, mas é novo no trabalho com o Banco de Dados do Azure para Servidor Flexível MySQL.
Pré-requisitos
Este guia de início rápido utiliza os recursos criados em qualquer um desTes guias como ponto de partida:
- Guia de início rápido: criar uma instância do Banco de Dados do Azure para MySQL com o portal do Azure
- Guia de início rápido: criar uma instância do Banco de Dados do Azure para MySQL - Servidor Flexível usando a CLI do Azure
Importante
Verifique se o endereço IP do qual você está se conectando foi adicionado as regras de firewall do servidor usando o Gerenciar regras de firewall para o Banco de Dados do Azure para MySQL - Servidor Flexível usando o portal do Azure ou Gerenciar regras de firewall para o Banco de Dados do Azure para MySQL - Servidor Flexível usando a CLI do Azure
Instalar Node.js e o conector de MySQL
Dependendo da sua plataforma, siga as instruções na seção apropriada para instalá Node.js. Use npm para instalar o pacote mysql2 e suas dependências na pasta do seu projeto.
Visite a página de transferências do Node. js e, em seguida, selecione a opção de instalador Windows que pretende.
Crie uma pasta de projeto local , como
nodejsmysql.Abra o prompt de comando e, em seguida, altere o diretório para a pasta do projeto, como
cd c:\nodejsmysql\Execute a ferramenta NPM para instalar a biblioteca mysql2 na pasta do projeto.
cd c:\nodejsmysql\ "C:\Program Files\nodejs\npm" install mysql2 "C:\Program Files\nodejs\npm" listVerifique a instalação verificando o texto de
npm listsaída. O número da versão pode variar à medida que novos patches são lançados.
Obter informações da ligação
Obtenha as informações de conexão necessárias para se conectar ao Banco de Dados do Azure para a instância do Servidor Flexível MySQL. Você precisa do nome do servidor totalmente qualificado e das credenciais de login.
- Inicie sessão no portal do Azure.
- No menu à esquerda no portal do Azure, selecione Todos os recursos e procure o servidor que você criou (como mydemoserver).
- Selecione o nome do servidor.
- No painel Descrição geral do servidor, tome nota do Nome do servidor e do Nome de início de sessão de administrador do servidor. Caso se esqueça da sua palavra-passe, também pode repor a palavra-passe neste painel.
Executar os exemplos de código
- Cole o código JavaScript em novos arquivos de texto e salve-o em uma pasta de projeto com .js de extensão de arquivo (como C:\nodejsmysql\createtable.js ou /home/username/nodejsmysql/createtable.js).
- Substitua
host,userpassworde opçõesdatabasede configuração no código com os valores que você especificou quando criou o servidor flexível MySQL e banco de dados. - Obter certificado SSL: para usar conexões criptografadas com seus aplicativos cliente, você precisará baixar o certificado SSL público que também está disponível na folha Rede do portal do Azure, conforme mostrado na captura de tela abaixo.
Salve o arquivo de certificado no local de sua preferência.
sslNa opção config, substitua o nome doca-certarquivo pelo caminho para esse arquivo local. Isso permitirá que o aplicativo se conecte com segurança ao banco de dados por SSL.- Abra o prompt de comando ou shell bash e, em seguida, altere o diretório para a pasta
cd nodejsmysqldo projeto . - Para executar o aplicativo, digite o comando node seguido pelo nome do arquivo, como
node createtable.js. - No Windows, se o aplicativo de nó não estiver no caminho da variável de ambiente, talvez seja necessário usar o caminho completo para iniciar o aplicativo de nó, como
"C:\Program Files\nodejs\node.exe" createtable.js
Ligar, criar tabela e inserir dados
Utilize o seguinte código para se ligar e carregar os dados com as instruções SQL CREATE TABLE e INSERT INTO.
O método mysql.createConnection() é usado para fazer interface com o Banco de Dados do Azure para a instância do Servidor Flexível MySQL. A função connect() é utilizada para estabelecer a ligação ao servidor. A função query() é utilizada para executar a consulta SQL na base de dados 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.')
});
};
Ler dados
Utilize o código seguinte para se ligar e ler dados com uma instrução SQL SELECT.
O método mysql.createConnection() é usado para fazer interface com o Banco de Dados do Azure para a instância do Servidor Flexível MySQL. O método connect() é utilizado para estabelecer a ligação ao servidor. O método query() é utilizado para executar a consulta SQL na base de dados MySQL. A matriz de resultados é utilizada para armazenar os resultados da consulta.
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.')
});
};
Atualizar dados
Utilize o código seguinte para se ligar e atualizar os dados com uma instrução SQL UPDATE.
O método mysql.createConnection() é usado para fazer interface com o Banco de Dados do Azure para a instância do Servidor Flexível MySQL. O método connect() é utilizado para estabelecer a ligação ao servidor. O método query() é utilizado para executar a consulta SQL na base de dados 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.')
});
};
Eliminar dados
Use o código a seguir para conectar e excluir dados usando uma instrução DELETE SQL.
O método mysql.createConnection() é usado para fazer interface com o Banco de Dados do Azure para a instância do Servidor Flexível MySQL. O método connect() é utilizado para estabelecer a ligação ao servidor. O método query() é utilizado para executar a consulta SQL na base de dados 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.')
});
};
Clean up resources (Limpar recursos)
Para limpar todos os recursos usados durante este início rápido, exclua o grupo de recursos usando o seguinte comando:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes
Conteúdos relacionados
- Ligar à Base de Dados do Azure para MySQL – Servidor Flexível com ligações encriptadas
- Conceitos de conectividade e rede para o Banco de Dados do Azure para MySQL - Servidor Flexível
- Gerenciar regras de firewall para o Banco de Dados do Azure para MySQL - Servidor flexível usando o portal do Azure
- Criar e gerenciar redes virtuais para o Banco de Dados do Azure para MySQL - Servidor flexível usando o portal do Azure