Please consider providing ARM support!
Note: By Intel I mean x86-64 or x64 or x86_64 or AMD64 or Intel 64.
Note: By ARM I mean ARMv8 or ARM64 or AArch64.
Apple Macbook with M1 chip are becoming more prevalent. These machines do not use your typical Intel CPU but are rather ARM based.
Developers with M1 Macbooks can’t spin up percona database with a simple
docker run because images stored in docker hub registry only has architecture type AMD64.
Apple sees Intel as legacy and as time passes by those machines will be phased out in favour of ARM. With that in mind ARM support has to come sooner or later.
Worth noting that the popular boards known as “Raspberry Pi” are also ARM based, so hosting percona database on those machines are not as easy as it should be.
Interestingly MySQL from Oracle actually do have ARM64 binary available. Please see links for more details:
Thank you for being an active part of our community. Currently, we’re considering providing builds for ARM-based architectures. Unfortunately, I can’t give a date when this will happen.
For Apple M1, you can follow these steps to build the code.
In Percona Server for MySQL 8.0.29-21, we added a patch that helps us build server code on macOS. Now it's possible to build RocksDB Storage Engine as well.
Est. reading time: 4 minutes
For Raspberry PI, these are the steps to follow:
I have done a great deal of work with Building Percona Server and Percona XtraBackup for the raspberry pi. You can check out details here:
Raspberry Pi Bullseye Percona Server 64bit | Percona Community
I just completed builds for Server 8.0.30 and Xtrabackup 8.0.30
I will be updating my blog post to cover 8.0.30 as soon as both Percona Server and Xtrabackup 8.0.30 are GA.
Thank you for your work. As of today running Percona on ARM requires building binary from source, however my suggestion is that this should happen in the pipeline and binaries published through distribution channels to different package managers. The accepted answer by Pep_Pla suggests that this is on going work.
Yes, we’re in the process of adding the ARM64 architecture to our build pipelines. This is work in progress.
Correct me if I am wrong, but this:
Is from a percona distribution channel. Pep_Pla has pulling the source code from github. I don’t see what the difference is. Can you explain your statement.
apt install percona-server-server
would fail in ubuntu on Raspberry Pi because ARM64 is missing here
Yes I know that I could build from source with cmake but not is not the solution I was suggesting.
We have started our work with aarm64. For now we have created docker container with aarm64 support but it is still in testing. Here it is: Docker
It is based on rpms so for now we don’t have deb packages for aarm64
So if you want to try it you can just execute
docker run --name container-name -e MYSQL_ROOT_PASSWORD=secret -d perconalab/percona-server:8.0.30-22.1-arm64
I will jump in and start looking this weekend. Thank you for the update.
Any chances of having Docker image
perconalab/percona-server:5.7 for linux/arm64/v8 as well anytime soon?
It would be really helpful in order to develop in Docker Desktop for Mac.
@Manuel_Molina - welcome to our Forum!
At this point this is highly unlikely. Percona Server for MySQL 5.7 is reaching it’s end of life later this year, and porting to a new architecture and platform requires significant engineering efforts. I strongly recommend developing new projects on version 8.0.
Thanks for the heads up about its EOL. We’ll think about the upgrade path.
Do you have any updates on the binary/deb file for ARM64?
I would not expect anything soon.
Since they need 4-6 months to release a Build for Debian 12, which was freezed in Feb 2023.
Percona will weigh the adoption of Debian Bookworm against our own build processes, user demand, and our OS EOL policy. I would not expect APT support for this OS for at least 4-6 months.
We have now 4 servers with ARM Ampere ® Altra ® Q80-30 with Debian 12, but can not use percona anymore. We are forced to use mariadb.