Troubleshooting
Fix database problems
Solve "Error establishing a database connection", "Too many connections", read-only databases and stopped queries.
On this page
Database errors usually show up on your website as a white page with one line of text. Each message points to a different cause; find yours below.
Before you start#
- Open Databases in the panel. Note the database name (for example
t3d2ca2b860_wordpress), its state, and the Size and limits card. - Know where your site keeps its database settings. For WordPress that is
wp-config.phpin/sites/<domain>/public.
The correct settings are always:
| Setting | Value |
|---|---|
| Host | localhost |
| Port | 3306 |
| Database | the full name from the panel, e.g. t3d2ca2b860_wordpress |
| User | the same as the database name |
| Password | the one shown when you created the database or made a new password |
"Error establishing a database connection"#
- Check the state. A database shows being set up for up to a minute after you create it or make a new password. Wait until it shows Ready.
- Check the host is
localhost. Not the server's name, not an IP address, not your old host's database server. - Check the name and user. Both are the full name with the
t…_prefix.wordpressalone does not work. - Check the password. If you are not sure, press New password next to the database, then put the new password in your site's settings straight away. The old password stops working. The new one works within a minute.
- Check the plan is active. When a plan is suspended, database users are locked until you renew.
"Too many connections" or "max_user_connections"#
Each database user may have only a set number of connections open at once:
| Plan | Connections per database |
|---|---|
| Spark | 10 |
| Starter | 15 |
| Pro | 25 |
| Business | 40 |
| Scale | 60 |
A busy site, a crawler, or code that opens connections and never closes them can reach this.
- Close connections when your script finishes; avoid persistent connections (
PDO::ATTR_PERSISTENT,mysqlip:hosts). - Add page caching (for WordPress, a caching plugin) so most visits never touch the database.
- Check Python apps and cron jobs that use the same database: an every-5-minutes job that hangs keeps its connection open.
- If you regularly need more, a bigger plan raises the limit. See Database limits.
Database is read-only ("command denied")#
When all your databases together grow past your plan's database size, they become read-only: reading and deleting still work, but INSERT, UPDATE and CREATE fail with errors like INSERT command denied to user. The panel shows Over the size limit: databases are read-only and you get an email at 80% and at 100%.
- Find what is big. Usual suspects: WordPress revisions, spam comments, logs, sessions, analytics or cache tables.
- Delete data you do not need (
DELETEandDROP TABLEstill work), or empty log tables. - Wait. Size is measured about every 10 minutes. Writing is allowed again once usage drops below 95% of the limit.
- Or upgrade under Billing & plans for a larger allowance.
"Query execution was interrupted (max_statement_time exceeded)"#
A single query ran longer than your plan allows (30 seconds on Spark and Starter, 60 on Pro and Business, 120 on Scale) and was stopped, so one slow query cannot stall the server.
- Add an index to the columns in the slow query's
WHEREorJOIN. - Work in batches: update 1,000 rows at a time instead of a million.
- Move heavy reports to a Python job that does the work in smaller queries.
Troubleshooting tips#
- Works for a while, then fails every evening: traffic peaks reach the connection limit; add caching.
- "Access denied for user": wrong password or name; see step 4 above.
- Characters like ₹ or Tamil text show as
?: connect withcharset=utf8mb4(databases are created as utf8mb4).
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.