Database Connection URLs Guide

📅 May 17, 2026⏱️ 12 min read🏷️ Database, Backend, DevOps, Security

Master database connection strings, URI configurations, default port standards, and the crucial credentials percent-encoding gotcha.

🔌 What is a Database Connection URL?

A database connection URL (also known as a connection string or URI) is a standardized string parameters address mapped by software drivers to locate, authenticate, and connect with active database engines. Most modern database drives (e.g., SQLAlchemy, Hibernate, Node-Postgres, Mongoose, JDBC) utilize uniform **RFC 3986 URI** rules.

The Standard URI Structure

Most connection URIs follow a structured architecture, ensuring that network clients can dissect and locate resources accurately:

scheme://[username]:[password]@[hostname]:[port]/[database_name]?[query_options]

• Scheme / Protocol: Defines the target engine (e.g., postgresql://, mongodb://).

• Username & Password: Credentials separating authentication fields by a colon (:) and host parameters by an at symbol (@).

• Hostname & Port: Server endpoint location and networking socket port (e.g., 5432 for PostgreSQL, 3306 for MySQL).

• Database Name: The target folder/schema context to direct operations.

• Query Options: Arguments altering driver connection limits, timeouts, or SSL/TLS policies.

⚠️ The Percent-Encoding Gotcha: Fixing Broken Special Characters

One of the most common mistakes when creating connection strings manually is passing passwords containing special characters (like @, :, /, +, or ?) in their raw format.

Because URIs utilize these specific symbols to identify credentials boundaries and server sockets, placing them raw breaks the parsing compiler. For example:

-- ❌ BROKEN RAW STRING
postgresql://admin:P@ssword123@localhost:5432/mydb

The parser will mistakenly interpret the first @ in P@ssword123 as the separator, assuming the host is ssword123@localhost and throwing a dns resolution error. To avoid database connection failures, you must always **URL-encode (Percent Encode)** special characters in database credentials:

-- ✅ CORRECT ENCODED STRING
postgresql://admin:P%40ssword123@localhost:5432/mydb

🗄️ Standard Formats by Database Engine

Here are the most popular database connection string templates utilized by DevOps and Backend developers:

🐘 1. PostgreSQL Connection URL

Used by Supabase, AWS RDS, and local postgres nodes. Enforces SSL settings for remote databases.

postgresql://[user]:[password]@[host]:5432/[database]?sslmode=require

🐬 2. MySQL Connection URL

Standard connection template for MySQL, PlanetScale, or MariaDB instances.

mysql://[user]:[password]@[host]:3306/[database]?ssl=true

🍃 3. MongoDB & MongoDB SRV

Standard format uses mongodb:// specifying port 27017, whereas cloud Atlas uses mongodb+srv:// for dynamic replica sets resolution.

-- Standard Replica Set
mongodb://[user]:[password]@[host]:27017/[database]?authSource=admin
-- MongoDB Atlas (SRV)
mongodb+srv://[user]:[password]@[host]/[database]?retryWrites=true&w=majority

❤️ 4. Redis & Redis Secure (TLS)

Redis caches use standard protocol redis:// on port 6379, while SSL-secured connections use the rediss:// protocol.

rediss://:[password]@[host]:6379/0

📁 5. SQLite File-based Database

Since SQLite is a local file-based database, it does not require host, port or authentication schemas.

sqlite:relative/path/to/database.db

🛡️ Database Credentials Security Guidelines

Exposing database connection strings in public logs, source-control repositories, or open networks can result in critical data breaches. Implement these best practices:

  • Environment Variables: Always store connection strings in environment configuration templates (e.g., .env file) and add them to .gitignore.
  • Enforce SSL/TLS: Force encrypted transport mode configurations on all network connections using query parameters like sslmode=require.
  • Principle of Least Privilege (PoLP): Never run application tasks utilizing root database admin login strings; instead, map custom roles with restricted permissions.

🎯 Conclusion

Correctly formating database connection strings is vital to application connectivity, safety, and operational stability. Understanding default ports, URI structures, and credentials percent-encoding prevents typical backend launch issues.

🔗 Build Secure Connection URLs Instantly

Skip compiling connection strings manually and risking syntax errors. Use our safe, browser-local Database URL Generator to create secure URIs for PostgreSQL, MongoDB, Redis, SQLite and more in a single click.

Go to Database URL Generator →