I like to try out new tools likes this, but whilst on my mac, and I generally use Sequel Pro for my databases (I use mysql and mariadb drop-ins). I have my database locally in a docker container, where I forward 3306 to 3300.
Entering host as 127.0.0.1 with correct credentials and port, it gives me this error: "Could not connect: Access denied for user 'root'@'172.18.0.1'".
This does not happen with Sequel, but occurs with Dbeaver. It actually also happened trying TablePlus which is a piece of software that a fellow commenter was mentioning.
I'm sure that it could be solved in my configs by allowing that particular IP, which is the local IP of the virtual machine which is serving docker. However, that is supposed to be completely transparent, thus I should be able to connect through 127.0.0.1.
As I haven't looked at the source code, it seems like the host lookup logic is flawed, as it translates my `127.0.0.1` to `172.18.0.1`. Why? Dunno. But this occurred in both Dbeaver and TablePlus. Works in my terminal and in Sequel however.
This sounds like a docker network problem more than an issue with dbeaver.
Try binding MySQL to 0.0.0.0 (all interfaces) instead of 127.0.0.1 (loopback). That said, 127.0.0.1 should be fine provided you connect through the service name or the docker container IP), connecting via 127.0.0.1 doesn't make sense. Then again, it's docker on Mac, so I don't really know.
Fwiw, also used sequel pro on Mac, moving to Linux dbeaver was the only thing that came close.
Now I don't really mind either but dbeaver is a bit quirky overall.
I know I can solve that by allowing "everytuldhing" to connect, but that is not my point. Hence my ""I'm sure that it could be solved in my configs by allowing that particular IP"" comment.
That it's `Docker on mac` is kinda irrelevant, as it's still just a virtual machine with a somewhat static IP. My point is, that when it comes to transparency on that level, this piece of software does not acknowledge that, but Sequel Pro does. I'm not a particular fan of Sequel Pro, but it just works in these types of case.
I'm still expecting, that software like this, would be able to handle this type of "proxy mechanism", so from outside the docker container, I could still connect through 127.0.0.1 to it, thus making the default config adequate.
Not sure if this is even makes sense, but I feel, that when connecting through a binding docker port, it should still use the origin IP ie. 127.0.0.1