Mysql

A clearskies MySQL cursor configured from environment variables.

  1. Overview
  2. hostname_environment_key
  3. username_environment_key
  4. password_environment_key
  5. database_environment_key
  6. port_environment_key
  7. cert_path_environment_key
  8. autocommit_environment_key
  9. connect_timeout_environment_key
  10. 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