Sites
Databases
Create databases from a site's Databases tab. Each database gets its own user with privileges only on that database.
Create a database
- Enter a database name and user (lowercase letters, digits and
_, 3–32 characters). - Leave the password empty to generate a strong one, or enter your own (6–64 characters).
- Copy the credentials shown after creation — the panel does not store passwords.
Connect from your app
| Host | 127.0.0.1 (or localhost) |
| Port | 3306 |
| Database / user | as created |
Both localhost (socket) and 127.0.0.1 (TCP) work.
phpMyAdmin
Click the open icon next to a database to manage it in phpMyAdmin — tables, queries, import and export. It is installed from the distribution package and served at https://<server>:2083/phpmyadmin/: port 2083 is a separate browser origin, so a script running inside phpMyAdmin cannot read panel pages.
phpMyAdmin opens in a new tab, already signed in and on that database's structure. Behind the scenes XAXA creates a temporary database user that can access only that database; you never need its password. The login expires after 60 minutes; the account itself is dropped by the 5-minute cleanup. phpMyAdmin only opens while you are signed in to the panel and have such a login open; signing out, changing your password or losing access to the site drops it at once.
Deleting a database or its site also closes the temporary logins for that database. After an update from an older release, the first database creation, deletion or account session closure closes older temporary logins whose database or account was not recorded; open phpMyAdmin again if needed.
Redis
Redis runs on 127.0.0.1:6379 and is shared by all sites. Under Redis on the Databases tab, Create Redis user gives the site its own user: it can read and write only keys (and pub/sub channels on Redis 6.2 or newer; Ubuntu 22.04 ships 6.0, where channels are shared) that start with <site user>:, and cannot run commands such as FLUSHALL, KEYS, SCAN, RANDOMKEY, DBSIZE, CONFIG or DEBUG. SCAN/RANDOMKEY/DBSIZE are blocked because they take no key: without that they list every site's key names (values stay unreadable). The password is shown once; New password replaces it and Remove deletes the user (the keys stay).
| App | Settings |
|---|---|
| Laravel | REDIS_USERNAME=<site user>, REDIS_PASSWORD=…, REDIS_PREFIX=<site user>: |
| WordPress (Redis Object Cache) | define('WP_REDIS_PASSWORD', ['<site user>', '…']); and define('WP_REDIS_PREFIX', '<site user>:'); |
New servers accept no Redis connection without a user. A server updated from an older version stays open until an admin requires a password under Instance → Redis: give every site that uses Redis its own user first.
Import a dump
Upload a .sql or .sql.gz file with the File manager or SFTP, then use Import SQL on the Databases tab: choose the database and enter the path inside the site user's home folder (for example htdocs/example.com/dump.sql.gz). The import runs in the background and shows its progress on the site Overview.
The file is read as the site user and the dump runs with a temporary MySQL account that can only use the chosen database, so statements for other databases or accounts fail. Views and triggers with a DEFINER of another account need that clause removed from the dump. To export a database, use Back up databases on the Backups tab and download the archive.
Other actions
- New password — generates and shows a new password for the database user.
- Drop — deletes the database and its user permanently.
Remote access
The database server listens on 127.0.0.1 only. For remote access, use an SSH tunnel:
ssh -L 3306:127.0.0.1:3306 example@your-server
Admin access
As root on the server, mysql connects without a password via socket authentication.
Found a mistake or need help? support@xaxa.com.tr