Mysql
A clearskies MySQL cursor configured from environment variables.
- Overview
- hostname_environment_key
- username_environment_key
- password_environment_key
- database_environment_key
- port_environment_key
- cert_path_environment_key
- autocommit_environment_key
- connect_timeout_environment_key
- port_forwarding
Overview
This class provides a MySQL cursor implementation that reads connection parameters from environment variables, making it easy to configure for different environments. It supports all features of the base Mysql class, including port forwarding via the port_forwarding parameter.
Environment Variable Keys
The following environment variables are used by default (can be overridden):
DATABASE_HOST: Hostname of the MySQL server.DATABASE_USERNAME: Username for authentication.DATABASE_PASSWORD: Password for authentication.DATABASE_NAME: Name of the database.DATABASE_PORT: Port number (optional).DATABASE_CERT_PATH: Path to SSL certificate (optional).DATABASE_AUTOCOMMIT: Autocommit setting (optional).DATABASE_CONNECT_TIMEOUT: Connection timeout (optional).
Port Forwarding
The port_forwarding parameter accepts an instance of a subclass of PortForwarder, enabling SSM or SSH-based port forwarding if required.
Example
from clearskies.cursors.port_forwarding.ssm import SSMPortForwarder
import clearskies
cursor = clearskies.cursors.from_environment.MySql(
port_forwarding=SSMPortForwarder(
instance_id="i-1234567890abcdef0",
region="eu-west-1",
),
)
cursor.execute("SELECT * FROM users")
results = cursor.fetchall()
hostname_environment_key
Optional
Environment variable key for the MySQL server hostname.
username_environment_key
Optional
Environment variable key for the MySQL username.
password_environment_key
Optional
Environment variable key for the MySQL password.
database_environment_key
Optional
Environment variable key for the database name.
port_environment_key
Optional
Environment variable key for the MySQL server port (optional).
cert_path_environment_key
Optional
Environment variable key for the SSL certificate path (optional).
autocommit_environment_key
Optional
Environment variable key for the autocommit setting (optional).
connect_timeout_environment_key
Optional
Environment variable key for the connection timeout (optional).
port_forwarding
Optional