Thank you, will let you know if this works for me.
Hi! Thank you so much for the blog post, I was able to set everything up, i can acess the Studio properly, but i can’t connect with it through JDBC, 
An exception or error caused a run to abort: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:828)
at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:448)
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241)
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:251)
at com.wiliot.TestUtils$.initDb(TestUtils.scala:34)
at com.wiliot.TestUtils$.startSinglestoreDb(TestUtils.scala:41)
at com.wiliot.assetTracking.AssetActorSpec.beforeAll(AssetActorSpec.scala:100)
at org.scalatest.BeforeAndAfterAll.liftedTree1$1(BeforeAndAfterAll.scala:212)
at org.scalatest.BeforeAndAfterAll.run(BeforeAndAfterAll.scala:210)
at org.scalatest.BeforeAndAfterAll.run$(BeforeAndAfterAll.scala:208)
at com.wiliot.assetTracking.AssetActorSpec.run(AssetActorSpec.scala:27)
at org.scalatest.tools.SuiteRunner.run(SuiteRunner.scala:45)
at org.scalatest.tools.Runner$.$anonfun$doRunRunRunDaDoRunRun$13(Runner.scala:1346)
at org.scalatest.tools.Runner$.$anonfun$doRunRunRunDaDoRunRun$13$adapted(Runner.scala:1340)
at scala.collection.immutable.List.foreach(List.scala:392)
at org.scalatest.tools.Runner$.doRunRunRunDaDoRunRun(Runner.scala:1340)
at org.scalatest.tools.Runner$.$anonfun$runOptionallyWithPassFailReporter$24(Runner.scala:1031)
at org.scalatest.tools.Runner$.$anonfun$runOptionallyWithPassFailReporter$24$adapted(Runner.scala:1010)
at org.scalatest.tools.Runner$.withClassLoaderAndDispatchReporter(Runner.scala:1506)
at org.scalatest.tools.Runner$.runOptionallyWithPassFailReporter(Runner.scala:1010)
at org.scalatest.tools.Runner$.run(Runner.scala:850)
at org.scalatest.tools.Runner.run(Runner.scala)
at org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.runScalaTest2or3(ScalaTestRunner.java:38)
at org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.main(ScalaTestRunner.java:25)
Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:151)
at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:167)
at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:581)
at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:536)
at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:423)
at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1431)
at com.mysql.cj.NativeSession.connect(NativeSession.java:133)
at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:948)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:818)
... 25 more
Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67)
at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81)
at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63)
at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45)
at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:575)
... 31 more
Process finished with exit code 0
You have any idea how i can fix this?
Hello, we have a good news.
With our 7.8.11 release, you can now run SingleStoreDB on M1 Macs. Provide feedback on this thread if you encounter any issue.
Make sure to pull the latest version when installing it:
docker run -i --init \
--name singlestore-ciab \
-e LICENSE_KEY=<YOUR_LICENSE_FROM_PORTAL.SINGLESTORE.COM> \
-e ROOT_PASSWORD=<YOUR_DESIRED_DATABASE_ROOT_PASSWORD> \
-p 3306:3306 -p 8080:8080 \
singlestore/cluster-in-a-box:latest
What great news!
Yay!
That is amazing! But when I run your command with my variables, I still get the message that it is running in amd64 mode…
Am I doing something wrong?
I also experience that but it should work once you connect with it. Let me know if it doesn’t work.
Ahh, yeah I started looking at Singlestore yesterday, so it was already working for me. But it is so slow on a M1 Pro when I compare it to an external server that is amd64 over the internet…
What is running slow? Your feedback will help us improve the experience. As a note, this release on MAC is more for dev/test scenario.
Great news, waited for this a long time.
Will M1 support be available only from 7.8.11 and above ?
Our prod env. is 7.6.22,
and I wonder if it’s supported, best practice is to have same version for dev & prod envs.
Thanks in advance,
Ziv
Hello Ziv!
I am glad that you are happy with the release! Correct, support for Mac M1 will not be backward compatible. I would have the same version for dev/staging/production environments because you don’t want to use functionalities that will not be compatible in the production environment. My advise would be to upgrade both environments to the same version.
If you use the 7.8.11 on your Mac M1 for development (do not use it for production), here are the release notes in 7.8.
Thank you,
Arnaud
Someone was able to run the new docket image that supports M1 using testcontainers from a project?
Hello everyone on the forum.
We have implemented a better image configuration that should enable less resource usage on your MAC M1.
Here is the repo that you should use: GitHub - singlestore-labs/singlestoredb-dev-image: The SingleStoreDB Dev Container is the fastest way to develop with SingleStore on your laptop or in a CI/CD environment.
For those of you with M3 or M4 macs, some have noticed they can’t run the singlestore dev image in emulation mode.
The latest SingleStore Dev Image uses AlmaLinux 10 as the base OS, which relies on the x86‑64‑v3 instruction set. This version should work as expected on:
- Apple silicon Macs running macOS 26
- Intel Macs running macOS 15 (Sequoia) and macOS 26 (Tahoe)
The version of Rosetta on Apple silicon Macs running macOS 15 does not support the x86‑64‑v3 instruction set. When attempting to run the latest SingleStore Dev Image on these Macs, a Fatal glibc error: CPU does not support x86-64-v3 is displayed.To remedy this, either:
- Upgrade your Apple silicon Mac to macOS 26
- Use SingleStore Helios for development