# Database Services

> Set up MySQL, PostgreSQL, and MongoDB databases for your applications.

Database Services
-----------------

Ploi Cloud makes it easy to add database services to your applications. Supported databases include MySQL, PostgreSQL, and MongoDB.

### Adding a Database

1. Navigate to your application
2. Click "Add Service"
3. Select your database type
4. Choose a database version:


    - **MySQL:** 8.4, 8.0, 5.7
    - **PostgreSQL:** 16, 15, 14, 13
    - **MongoDB:** 7.0, 6.0, 5.0
5. Configure the resources:
    
    
    - **CPU:** Select from available plans
    - **Memory:** Configurable based on your needs
    - **Storage Size:** Set during creation (cannot be changed later)
6. Click "Create database"

### Connection Details

Database credentials are automatically generated and injected as environment variables into your application:

#### MySQL

For Laravel applications:

- `DB_CONNECTION` - Set to 'mysql'
- `DB_HOST` - Database hostname
- `DB_PORT` - Port 3306
- `DB_DATABASE` - Database name
- `DB_USERNAME` - Database username
- `DB_PASSWORD` - Database password

For WordPress applications:

- `WORDPRESS_DB_HOST` - Database hostname
- `WORDPRESS_DB_NAME` - Database name
- `WORDPRESS_DB_USER` - Database username
- `WORDPRESS_DB_PASSWORD` - Database password

#### PostgreSQL

For Laravel applications:

- `DB_CONNECTION` - Set to 'pgsql'
- `DB_HOST` / `POSTGRES_HOST` - Database hostname
- `DB_PORT` / `POSTGRES_PORT` - Port 5432
- `DB_DATABASE` / `POSTGRES_DB` - Database name
- `DB_USERNAME` / `POSTGRES_USER` - Database username
- `DB_PASSWORD` / `POSTGRES_PASSWORD` - Database password
- `POSTGRESQL_URL` / `POSTGRES_URL` - Full connection string

For WordPress applications:

- `WORDPRESS_DB_HOST` - Database hostname
- `WORDPRESS_DB_NAME` - Database name
- `WORDPRESS_DB_USER` - Database username
- `WORDPRESS_DB_PASSWORD` - Database password

#### MongoDB

- `MONGODB_URI` - Full connection string with authentication
- `MONGODB_HOST` - Database hostname
- `MONGODB_PORT` - Port 27017
- `MONGODB_DATABASE` - Database name
- `MONGODB_USERNAME` - Database username
- `MONGODB_PASSWORD` - Database password

### Backups

The platform performs automatic nightly backups of all applications and their databases. Backups can be restored to create a new copy of your application with all its data.

### Root credentials

When you create a database service, root credentials are generated automatically. These give you full administrative access to your database and allow you to create additional databases or users if needed.

#### Viewing root credentials

To view your root credentials:

1. Navigate to your application
2. Click on your database service
3. Click "Environment variables"
4. Scroll to the "Root credentials" section

You'll see the username and password for the root/superuser account.

#### Important notes

- **These credentials are NOT auto-injected** into your application
- If you want to use them, you must manually add them to your application secrets
- Root credentials provide full database privileges

### Managing Databases

To manage your database:

1. Go to the service in your application
2. View service logs to monitor database activity
3. Restart the service if needed
4. Enable debug access for temporary external connections

**Note:** Storage size cannot be changed after creation. Plan your storage needs accordingly.
