Uploaded image for project: 'MariaDB Connector/Python'
  1. MariaDB Connector/Python
  2. CONPY-326

Add Connection URI Support to MariaDB Python Connector

    XMLWordPrintable

Details

    • New Feature
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • None
    • 2.0.0-rc
    • Other
    • None

    Description

      Summary

      Support connection URIs (mariadb://user:pass@host/db) in addition to current parameter-based connection.

      Current vs Proposed

      Current (parameters only):

      conn = mariadb.connect(host="localhost", user="root", password="secret", database="mydb")
      

      Proposed (URI support):

      URI format
      conn = mariadb.connect("mariadb://root:secret@localhost:3306/mydb")
      With options
      conn = mariadb.connect("mariadb://root:secret@localhost/mydb?charset=utf8mb4&ssl=true")
      Parameters still work (backward compatible)
      conn = mariadb.connect(host="localhost", user="root")
      

      Benefits

      Simplified configuration (single string)
      Standard format (used by asyncpg, psycopg3, SQLAlchemy)
      Easy environment variable usage
      Compatible with modern Python tools

      URI Format

      mariadb://[user[:password]@][host][:port][/database][?option1=value1&option2=value2]
      

      Examples:

      "mariadb://localhost"                                    # Minimal
      "mariadb://user:pass@localhost:3306/mydb"               # Full
      "mariadb://user:pass@host/db?charset=utf8mb4"           # With options
      "mariadb://user:p%40ss@localhost/db"                    # URL-encoded password
      "mariadb://user:pass@[::1]/db"                          # IPv6
      "mariadb://user:pass@localhost/db?unix_socket=/path"    # Unix socket
      

      Priority:
      Parameters override URI values when both provided:

      conn = mariadb.connect("mariadb://user:pass@host/db", password="override")
      

      Attachments

        Activity

          People

            diego dupin Diego Dupin
            diego dupin Diego Dupin
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.