MySQL
Deploy MySQL 8.4, use the free tier, and connect Laravel or other applications over the private network.
Openstead MySQL runs MySQL 8.4 LTS with persistent data storage, private application connections, logical backups, and access through phpMyAdmin. Each service has its own database credentials.
Create a database
Choose New → MySQL inside the application's project and environment. Set a service name, database name, and database username. MySQL Free is selected by default; choose a paid MySQL plan if you need more resources.
A Free database deploys without a card or checkout. A paid database requires confirmation of the service-month quote. Wait until provisioning and any restore have completed before connecting an application.
MySQL Free
| Resource | Included |
|---|---|
| Price | $0 |
| MySQL version | 8.4 LTS |
| RAM | 768 MiB |
| CPU | 0.25 shared vCPU |
| Persistent allocation | 2 GiB, including system files and logs |
| Simultaneous connections | Up to 25 |
| Workspace limit | One MySQL Free database |
| Backups | Daily by default; retention from 1 to 7 days |
| Idle sleep or scheduled expiry | None |
Free is useful for small applications, prototypes, and learning. The storage limit does not automatically expand, and reaching it does not create overage charges. Clean up unneeded data or deliberately upgrade before the allocation fills.
Pending, suspended, and archived Free databases retain the workspace's free slot. Deleting a database releases its slot only after deletion finishes. A paid upgrade releases the slot once the paid release is running. Editing a plan selection alone does not release it.
A second independent MySQL database in the same workspace needs a paid plan. This also applies when restoring a Free database into a separate recovery database while the source occupies the free slot.
Connect Laravel or another application
MySQL listens privately on port 3306. Open Connections to reveal credentials, or add connection references to the application.
For Laravel, set DB_CONNECTION=mysql, then map these reference fields:
| Application variable | MySQL connection field |
|---|---|
DB_HOST | Private hostname |
DB_PORT | Port |
DB_DATABASE | Database |
DB_USERNAME | Username |
DB_PASSWORD | Password |
Redeploy the application after adding or changing references. A copied cPanel value such as DB_HOST=127.0.0.1 points to the application container itself and will not reach your separate managed database.
Use the database's application credentials. Openstead does not expose a MySQL root account for customer login. The credentials are scoped to this database. For a complete deployment, follow Laravel.
Manage tables with phpMyAdmin
Select Connections → Open phpMyAdmin. It opens an authenticated database manager in a separate tab, included with both Free and paid MySQL. Your database stays private.
See phpMyAdmin for SQL imports, session expiry, upload limits, and access permissions.
Storage, backups, and upgrades
MySQL data lives on managed persistent storage and survives normal container replacement. Keep database identity and version changes separate from routine application redeployments.
Daily backups use logical SQL exports. The consistent backup path requires InnoDB tables. Avoid schema changes while an export is running. Exports do not include your application's upload directory.
Paid plans include larger storage allocations; upgrades grow the managed disk. Openstead does not shrink a disk when you downgrade. An existing allocation above 2 GiB cannot switch to Free. To use Free with a smaller dataset, export and migrate deliberately to a new database that fits.
Troubleshooting
Connection limit reached: reduce each application's pool size and count every replica, worker, and manager session. MySQL Free allows up to 25 simultaneous connections across clients.
Storage full: inspect table sizes and log/data growth. Remove data only when it is safe to do so, retain an export, and review a paid plan if the application has outgrown Free.
Backup rejects a table: check its storage engine. Migrate nontransactional tables to InnoDB after verifying application compatibility.
phpMyAdmin is unavailable: confirm the database is running, restoration is finished, your account has permission, and any paid term is active. Reopen the manager after database replacement or session expiry.