--- title: "Create a DBaaS instance" description: "Create a MySQL, MariaDB, or PostgreSQL DBaaS instance from MyAccount, with an optional VPC, parameter group, and disk encryption." content_type: "how-to" product: "database" platform: "MyAccount" url: "/myaccount/database/how-to/create-a-database/" topic: ["create-and-connect"] --- # Create a DBaaS instance Create a DBaaS instance to get a managed MySQL, MariaDB, or PostgreSQL database that your applications connect to. You choose an engine, a version, a plan, and the credentials. It goes in the region you have selected in MyAccount, Delhi or Chennai. ## Before you begin On a prepaid account, you need enough infra credits to run the DBaaS instance for about 24 hours. If you are short, the create form tells you how many infra credits to add; see [Troubleshooting DBaaS](/myaccount/database/troubleshooting/database/#creating-a-dbaas-instance-asks-for-more-infra-credits). ## Open the create form In the sidebar, under **Database**, click **DBaaS**, then click **Create DBaaS**. ## Choose an engine, version, and plan 1. On **Choose Database Engine**, click **MySQL**, **MariaDB**, or **PostgreSQL**: the engine your application uses. 2. Choose the **Database Version**: the newest one your application supports. The DBaaS instance stays on the version you choose for as long as it exists; see [DBaaS engines and versions](/myaccount/database/concepts/database-engines-and-versions/). 3. Choose a plan from **Select Configuration**. Each option is a number of vCPUs, the RAM, and the storage. Start with the smallest plan that fits: a plan change always moves up to a larger plan. 4. Under **Instance Pricing**, choose **On-Demand** for hourly billing, or a committed option for one price over a fixed period, with bigger savings on longer periods. On-Demand suits a DBaaS instance you are trying out; a committed option suits one you will keep. See [Convert a DBaaS instance to a committed plan](/myaccount/database/how-to/convert-a-database-to-a-committed-plan/). ## Name the DBaaS instance In the **Summary** panel, **Instance Name** and **Database Name** are filled in for you. Keep them or change them. The **Instance Name** is the name the DBaaS instance shows on the DBaaS list. The **Database Name** is the database created inside the engine, the one you connect to. An **Instance Name** is 1 to 50 characters: letters, numbers, hyphens, and underscores. A **Database Name** is required and up to 64 characters. Pick a name other than `postgres` on PostgreSQL, or `mysql` on MySQL and MariaDB: those names are reserved. ## Set the credentials 1. Under **Database Details**, keep the **Username** as `admin`, or change it to lowercase letters and numbers, up to 80 characters. 2. Enter a **Password**, or click **Use Suggested Password**. A password is 16 to 30 characters and includes a digit, an uppercase letter, a lowercase letter, and a special character. Save the password somewhere safe now. If you lose it, see [Reset the DBaaS instance password](/myaccount/database/how-to/reset-the-database-password/). ## (Optional) Attach a VPC Under **VPC & Subnet**, choose a VPC in **Select VPC**. (Optional) Pick a subnet under **Select Subnet (Optional)**. With a VPC selected, **Public IP** is checked. Keep it checked to reach the DBaaS instance from the internet through its **Endpoint**, or clear it to keep it private to the VPC. ## (Optional) Set a parameter group and turn on encryption Expand **Advanced Settings**. To apply a set of engine configuration values instead of the defaults, choose a **Parameter Group**. To make one first, see [Create and edit a parameter group](/myaccount/parameter-group/how-to/create-and-edit-a-parameter-group/). To encrypt the DBaaS instance's storage and its Read Replicas with LUKS full-disk encryption, check **Enable Encryption**. Decide now: you choose encryption once, at creation, and it stays for the life of the DBaaS instance. An encrypted DBaaS instance keeps its Read Replicas in its own region. In **Enter Passphrase(Optional)**, set 8 to 12 characters with an uppercase letter, a lowercase letter, and a special character, or leave it blank to get a generated one; see [DBaaS encryption and SSL](/myaccount/database/concepts/database-encryption-and-ssl/). ## Create it Click **Launch DBaaS**. With **On-Demand**, creation starts straight away and you return to the DBaaS list. For a committed plan, **Committed DBaaS Confirmation** opens first: check the cost statement, choose auto-renew or hourly billing for after the period, and click **Proceed**. The status reads **Creating**, then **Deploying** while the DBaaS instance finishes setting up, and **Running** once it is ready. Billing starts when the status reaches **Deploying**. You now have a running DBaaS instance with the credentials you set. Next, connect to it; see [Connect to a DBaaS instance](/myaccount/database/how-to/connect-to-a-database/). If the status shows **Creation Failed** or **Deploy Failed**, see [Troubleshooting DBaaS](/myaccount/database/troubleshooting/database/#my-dbaas-instance-shows-creation-failed-deploy-failed-or-vm-error).