Percona: Use Percona as an alternative for MySQL or MongoDB

Percona for MySQL
Why Percona
Percona for MySQL is a fork of MySQL. It aims to be a more stable alternative (as it fixes many bugs which still exist in MySQL), but it stays completely compatible with MySQL.
No Innovation Release
Percona for MySQL will not release innovation releases, because they don't focus on new functions and features, but on stability. So the first major version 9 from Percona for MySQL will be the next MySQL LTS (Long Term Support) release (maybe 9.7).
Percona for MySQL in Docker
If you want to use Percona for MySQL instead of MySQL in your Docker container, you can exchange
image: mysql:innovation
with
image: percona
Please remember when using latest
, you will get Percona for MySQL version 5.7.35:
Version: '5.7.35-38' socket: '/var/lib/mysql/mysql.sock' port: 0 Percona Server (GPL), Release 38, Revision 3692a61
If you want the latest version 8
, you'll need another image tag:
image: percona:8
2025-02-12T16:14:21.292264Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.40-31' socket: '/var/lib/mysql/mysql.sock'
Or you use another image, where latest
points to a 8.x version:
image: percona/percona-server
Percona for MongoDB
"Percona Server for MongoDB brings a rich assortment of enterprise-class features and improvements to MongoDB Community Edition.
You’ll get the high-performance and reliability your enterprise demands — without being tied into an expensive proprietary software vendor relationship. Plus, you can migrate with no changes to MongoDB applications or code."
If you use the default MongoDB image, your Docker Compose file would look like
services:
db:
image: mongodb/mongodb-community-server
environment:
- MONGO_INITDB_ROOT_USERNAME=root
- MONGO_INITDB_ROOT_PASSWORD=XxXxXxXx00##
If you'd like to replace the MongoDB image by the one made by Percona
image: mongodb
you'd use this image:
image: percona:psmdb-7.0
+ /call-home.sh -f PRODUCT_FAMILY_PSMDB -v 7.0.15-9 -d DOCKER -s el8 -t 7 -c 2
+ exec mongod --bind_ip_all
{"t":{"$date":"2025-02-12T16:19:05.072+00:00"},"s":"I", "c":"CONTROL", "id":23285, "ctx":"main","msg":"Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'"}
{"t":{"$date":"2025-02-12T16:19:05.088+00:00"},"s":"I", "c":"NETWORK", "id":4915701, "ctx":"main","msg":"Initialized wire specification","attr":{"spec":{"incomingExternalClient":{"minWireVersion":0,"maxWireVersion":21},"incomingInternalClient":{"minWireVersion":0,"maxWireVersion":21},"outgoing":{"minWireVersion":6,"maxWireVersion":21},"isInternalClient":true}}}
{"t":{"$date":"2025-02-12T16:19:05.089+00:00"},"s":"I", "c":"NETWORK", "id":4648601, "ctx":"main","msg":"Implicit TCP FastOpen unavailable. If TCP FastOpen is required, set tcpFastOpenServer, tcpFastOpenClient, and tcpFastOpenQueueSize."}
{"t":{"$date":"2025-02-12T16:19:05.090+00:00"},"s":"I", "c":"REPL", "id":5123008, "ctx":"main","msg":"Successfully registered PrimaryOnlyService","attr":{"service":"TenantMigrationDonorService","namespace":"config.tenantMigrationDonors"}}
{"t":{"$date":"2025-02-12T16:19:05.090+00:00"},"s":"I", "c":"REPL", "id":5123008, "ctx":"main","msg":"Successfully registered PrimaryOnlyService","attr":{"service":"TenantMigrationRecipientService","namespace":"config.tenantMigrationRecipients"}}
{"t":{"$date":"2025-02-12T16:19:05.090+00:00"},"s":"I", "c":"CONTROL", "id":5945603, "ctx":"main","msg":"Multi threading initialized"}
psmdb
means Percona Server for MongoDB.