Connecting with Python
This guide explains how to establish a connection between a Python application and a MySQL database using the mysql-connector-python
package. It walks through the necessary setup, configuration, and execution of a simple SQL query.
Variables
Certain parameters must be provided to establish a successful connection to a MySQL database. Below is a breakdown of each required variable, its purpose, and where to find it. Here’s what each variable represents:
Variable |
Description |
Purpose |
---|---|---|
|
MySQL username, from the Elestio service overview page |
Identifies the database user who has permission to access the MySQL database. |
|
MySQL password, from the Elestio service overview page |
The authentication key is required for the specified USER to access the database. |
|
Hostname for MySQL connection, from the Elestio service overview page |
The address of the server hosting the MySQL database. |
|
Port for MySQL connection, from the Elestio service overview page |
The network port used to connect to MySQL. The default port is 3306. |
|
Database Name for MySQL connection, from the Elestio service overview page |
The name of the database being accessed. A MySQL instance can contain multiple databases. |
These values can usually be found in the Elestio service overview details as shown in the image below, make sure to take a copy of these details and add it to the code moving ahead.
Prerequisites
- Install Python
- Check if Python is installed by running:
python --version
- If not installed, download it from python.org and install it.
- Check if Python is installed by running:
- Install the
mysql-connector-python
Package- The mysql-connector-python package enables Python applications to interact with MySQL. Install it using:
pip install mysql-connector-python
- The mysql-connector-python package enables Python applications to interact with MySQL. Install it using:
Code
Once all prerequisites are set up, create a new file named mysql_connect.py
and add the following code:
import mysql.connector
# Database connection configuration
config = {
"host": "HOST",
"user": "USER",
"password": "PASSWORD",
"database": "DATABASE",
"port": PORT
}
try:
# Establish the connection
connection = mysql.connector.connect(**config)
print("Connected to MySQL")
# Create a cursor and execute a test query
cursor = connection.cursor()
cursor.execute("SELECT VERSION()")
# Fetch and print the result
version = cursor.fetchone()
print("MySQL Version:", version[0])
except mysql.connector.Error as err:
print("Connection failed:", err)
finally:
if 'cursor' in locals():
cursor.close()
if 'connection' in locals() and connection.is_connected():
connection.close()
print("Connection closed")
To execute the script, open the terminal or command prompt and navigate to the directory where mysql_connect.py
is located. Once in the correct directory, run the script with the command:
python mysql_connect.py
If the connection is successful, the terminal will display output similar to:
Connected to MySQL
MySQL Version: 8.0.41
Connection closed
No Comments