Troubleshooting
The errors you're most likely to hit connecting to AxioDBCloud or logging into the GUI, in the exact wording AxioDB returns, with the real fix for each.
"Not connected to server" right after calling connect()
client.connect() is asynchronous and must be awaited before you use the connection — it only resolves once the TCP handshake (and, if TCPAuth is on, the AUTHENTICATE round-trip) has completed.
1// ❌ Wrong — races ahead before the connection (and login) finish2client.connect();3console.log(client.authenticatedUser); // undefined4await client.createDB("MyDB"); // "Not connected to server"5
6// ✅ Right7await client.connect();8console.log(client.authenticatedUser); // populated9await client.createDB("MyDB"); // works401 — "Authentication required..."
You're running with TCPAuth: true and sent a command before a successful AUTHENTICATE. Either pass { username, password } in the AxioDBCloud constructor (it auto-authenticates on connect()), or call await client.login(username, password) yourself before any other command.
403 — "This account must change its password before it can be used over TCP..."
Your credentials are correct, but that account is still flagged for a forced password change — true for the default admin/admin account, and for any newly created user. Log into the GUI at http://localhost:27018, sign in, and complete the password change there — there's no TCP command for this yet. Then reconnect with the new password, or use a different account that has already completed its change.
429 — "Too many failed login attempts..."
Five failed logins from your IP within a trailing 15-minute window trigger a 15-minute lockout, shared between TCP and the GUI. Double-check the credentials you're sending, wait out the cooldown, or fix the underlying typo/config issue causing repeated failures — there's no way to clear the lockout early.
403 — "This is a reserved system database"
You (or a client) tried to read/write a database literally named config — that name is reserved for AxioDB's own RBAC storage (users/roles/permissions) and is blocked on both the GUI and TCP, authenticated or not. Use a different database name.
Connection refused / timeout connecting to axiodb://host:27019
- • Confirm the server was started with
TCP: true(or, in Docker,AXIODB_TCP=true, the default). - • Confirm the port is published:
-p 27019:27019ondocker run, or that nothing else on the host is bound to 27019. - • If you're getting a protocol error mentioning "Message exceeds maximum size" or "Received HTTP data on TCP port," you're likely pointed at the GUI port (27018) instead of the TCP port (27019) — check your connection string.
Docker container won't start, port conflicts, or data not persisting
See the Docker Deployment page, and Docker/README.md in the repository for a fuller Docker-specific troubleshooting guide (docker logs, port-conflict remapping, volume-mounting checklist).
