TiDB 8.5 on Ubuntu 24.04 LTS by cloudimg
by cloudimg
TiDB is a distributed, MySQL-compatible SQL database for HTAP workloads on Ubuntu 24.04.
TiDB 8.5 on Ubuntu 24.04 LTS by cloudimg
TiDB is an open-source distributed SQL database from PingCAP, licensed Apache-2.0. It separates compute from storage across three components: the stateless TiDB SQL layer parses and plans queries, TiKV is the distributed transactional key-value store that holds the rows, and PD (Placement Driver) keeps cluster metadata and decides where data lives. The SQL layer speaks the MySQL wire protocol, so existing MySQL clients, drivers, BI tools and application code connect unchanged and familiar SQL works as written.
This image runs all three components on a single VM as three systemd services. That is the smallest arrangement that is still a genuine TiDB cluster rather than a mock-storage stub, which makes it a faithful environment for development, evaluation, CI and staging, and a realistic starting point for learning the component topology before scaling out.
### Single-node deployment: what that does and does not give you
This is one PD member and one TiKV store, so every Raft group holds a single replica. There is exactly one copy of the data, there is no automatic failover, and no high availability. Losing the VM or its data disk means losing the database, so treat backups as mandatory. TiDB's resilience in production comes from running three or more PD members and three or more TiKV stores across failure domains; this image does not provide that and does not claim to.
### What is included
- TiDB 8.5.7, TiKV and PD, installed from the official signed PingCAP mirror and SHA-256 verified during the build against the vendor's own signed manifest
- Three systemd services with real readiness gating, so the SQL layer never starts before storage is genuinely serving
- A dedicated data volume for the PD and TiKV stores, kept off the OS disk
- Ubuntu 24.04 LTS, fully patched at capture, with unattended security upgrades enabled
### Security
Upstream TiDB creates its `root` account with no password at all. This image never ships that default. It contains no bootstrapped cluster whatsoever, and on first boot generates a per-VM root password and supplies it as part of the very first cluster bootstrap, so an empty-password root never exists as a completed state. The build verifies on a freshly launched VM that the per-VM credential works and that an empty-password login is refused.
PD, TiKV and the TiDB Dashboard are bound to loopback and are not reachable off the VM. Only the SQL port is bound on all interfaces, and the Azure network security group opens SSH only, so remote SQL access is over an SSH tunnel or a rule you add yourself.
### Sizing
TiKV runs continuous background compaction, which is a sustained CPU load rather than a bursty one, so a burstable B-series SKU is the wrong instrument for it. Standard_D4s_v5 (4 vCPU / 16 GiB) is the recommended size. Component memory ceilings are computed from the VM's own RAM at service start, so the image adapts correctly if you run it larger.
Backed by 24/7 cloudimg support. Full deploy guide: https://www.cloudimg.co.uk/guides/tidb-on-ubuntu-24-04-azure/