Explore a curated collection of code samples to help you connect, manage, and optimize your Azure Database for MySQL instances.
Connecting to Azure Database for MySQL using Python
This sample demonstrates how to establish a secure connection to your Azure Database for MySQL instance using Python. Ensure you have the `mysql-connector-python` library installed (`pip install mysql-connector-python`).
import mysql.connector
host = "your-server-name.mysql.database.azure.com"
user = "your-username"
password = "your-password"
database = "your-database-name"
try:
cnx = mysql.connector.connect(
user=user,
password=password,
host=host,
database=database
)
cursor = cnx.cursor()
print("Successfully connected to Azure Database for MySQL!")
cursor.execute("SELECT @@VERSION")
version = cursor.fetchone()
print("Database version: ", version)
except mysql.connector.Error as err:
print(f"Error: {err}")
finally:
if cnx and cnx.is_connected():
cursor.close()
cnx.close()
print("Connection closed.")
Creating a Firewall Rule with Azure CLI
This example shows how to use the Azure CLI to create a firewall rule, allowing specific IP addresses or ranges to access your Azure Database for MySQL server.
AZURE_RESOURCE_GROUP="YourResourceGroupName"
AZURE_SERVER_NAME="YourAzureMySQLServerName"
RULE_NAME="AllowMyIP"
START_IP_ADDRESS="0.0.0.0"
END_IP_ADDRESS="0.0.0.0"
az mysql server firewall-rule create \
--resource-group $AZURE_RESOURCE_GROUP \
--server $AZURE_SERVER_NAME \
--name $RULE_NAME \
--start-ip-address $START_IP_ADDRESS \
--end-ip-address $END_IP_ADDRESS
az mysql server firewall-rule create \
--resource-group $AZURE_RESOURCE_GROUP \
--server $AZURE_SERVER_NAME \
--name "AllowAll" \
--start-ip-address "0.0.0.0" \
--end-ip-address "255.255.255.255"
Performing Basic CRUD Operations with Node.js
This Node.js example illustrates how to perform fundamental Create, Read, Update, and Delete operations on your Azure Database for MySQL. Ensure you have the `mysql` package installed (`npm install mysql`).
const mysql = require('mysql');
const connection = mysql.createConnection({
host: 'your-server-name.mysql.database.azure.com',
user: 'your-username',
password: 'your-password',
database: 'your-database-name',
ssl: {
rejectUnauthorized: false
}
});
connection.connect(function(err) {
if (err) {
console.error('Error connecting: ' + err.stack);
return;
}
console.log('Connected as id ' + connection.threadId);
const newUser = { name: 'Alice', email: 'alice@example.com' };
connection.query('INSERT INTO users SET ?', newUser, function(error, results, fields) {
if (error) throw error;
console.log('User inserted with ID: ', results.insertId);
connection.query('SELECT * FROM users WHERE id = ?', [results.insertId], function(error, results, fields) {
if (error) throw error;
console.log('User found: ', results[0]);
connection.query('UPDATE users SET email = ? WHERE id = ?', ['alice.updated@example.com', results[0].id], function(error, results, fields) {
if (error) throw error;
console.log('User email updated.');
connection.query('DELETE FROM users WHERE id = ?', [results[0].id], function(error, results, fields) {
if (error) throw error;
console.log('User deleted.');
connection.end();
});
});
});
});