Plans from ₹99 a monthFree HTTPS on every site18% GST invoice with your GSTIN for input tax creditFull refund within 7 days of your first paymentPay yearly, get 2 months freeNo auto-renewal, everPlans from ₹99 a monthFree HTTPS on every site18% GST invoice with your GSTIN for input tax creditFull refund within 7 days of your first paymentPay yearly, get 2 months freeNo auto-renewal, ever

Databases

Database limits and passwords

How much database space, how many connections and how long a query each plan allows, what happens over the limit, and how to make a new password.

Intermediate7 min readUpdated 27 October 2026
On this page

Every plan's databases have three limits. They keep one busy site from slowing down everyone else, and they are set automatically: you never configure them. This guide explains each limit, what you see when you reach it, and how to get back under it.

Before you start#

The limits by plan#

PlanDatabasesTotal size of all databasesConnections per databaseA query stops after
Spark1250 MB1030 s
Starter31 GB1530 s
Pro103 GB2560 s
Business258 GB4060 s
Scale5020 GB60120 s
  • Total size is the space of all your databases added together (data plus indexes), measured about every 10 minutes.
  • Connections per database is how many open connections one database user may have at the same moment.
  • Query time is the longest a single query may run before MariaDB stops it.

When databases reach the size limit#

FiniteHost never deletes your data for being over a limit. Instead:

  1. At 80% you get an email warning you to tidy up or upgrade.
  2. At 100% you get a second email, and your databases become read-only. Reading and deleting still work, so your site keeps showing pages, but anything that writes (a new order, a new post, a login that updates a timestamp) fails.
  3. The panel shows a red banner on the Databases page: Over the size limit: databases are read-only.
  4. Writing turns back on once the total drops below 95% of the limit, within about 10 minutes of the next measurement.

The 95% margin stops a database flipping between read-only and writable every few minutes when it sits right at the limit.

Get back under the limit#

Delete data you do not need#

For WordPress, the biggest wins are usually:

SQL
-- Old post revisions
DELETE FROM wp_posts WHERE post_type = 'revision';
-- Spam and trashed comments
DELETE FROM wp_comments WHERE comment_approved IN ('spam', 'trash');
-- Expired temporary data
DELETE FROM wp_options WHERE option_name LIKE '\_transient\_%';

Your table prefix may differ from wp_; check $table_prefix in wp-config.php. A cleanup plugin such as WP-Optimize does the same from the WordPress dashboard. For your own apps, delete old log or session rows:

SQL
DELETE FROM visit_log WHERE created_at < NOW() - INTERVAL 90 DAY;

Reclaim the space#

Deleting rows frees space inside a table, but the table file may not shrink until it is rebuilt. Once your databases are writable again, run:

SQL
OPTIMIZE TABLE wp_posts, wp_comments, wp_options;

OPTIMIZE TABLE needs write access, so it does not work while the databases are read-only. Delete first, wait for writing to come back, then optimise.

To empty a whole table you no longer need, such as an old log table, TRUNCATE TABLE visit_log; works even while read-only and frees its space at once.

Or upgrade#

A bigger plan raises all three limits at once, and you pay only the difference for the days left. See Upgrade your plan.

Too many connections#

If one database already has its maximum number of connections open, the next one is refused with User has exceeded the 'max_user_connections' resource. Common causes:

  • A traffic spike with a slow page: each visitor holds a connection for longer. Caching pages helps most (see CDN and caching).
  • Code that opens a connection and never closes it, for example in a loop, or a Python worker that opens a new connection per message. Reuse one connection.
  • Several sites sharing one database user. Give each site its own database.

Queries that are stopped#

A query that runs longer than your plan's limit is cancelled with Query execution was interrupted (max_statement_time exceeded). Usually the fix is an index on the column you search or sort by:

SQL
CREATE INDEX idx_orders_created ON orders (created_at);

Big one-off jobs, such as importing or updating every row, should be split into smaller batches.

Make a new password#

If a password is lost or may have leaked, replace it.

  1. Open Databases in the panel.
  2. Click New password on the database's row.
  3. Confirm with Make new password. Apps using the old password stop connecting from now until you update them.
  4. Copy the new password from the dialog and click I have copied it.
  5. Update every place that uses it: for WordPress, the DB_PASSWORD line in wp-config.php; for your own code, its config file.
  6. Wait about a minute. The database shows Being set up while the server applies the new password, then Ready.

What's next#

Was this helpful?

Still stuck?

Email support@finitehost.com with your subscription ID (it starts with t, shown on the panel's Dashboard) and what you tried. A person replies, usually within one business day.

Last updated 27 October 2026. Found something wrong? Tell support@finitehost.com.