On Tuesday, 6 March 2018 at 04:31:42 UTC, Nick Sabalausky
(Abscissa) wrote:
On 03/05/2018 09:23 AM, aberba wrote:
On Saturday, 3 March 2018 at 07:37:38 UTC, Nick Sabalausky
(Abscissa) wrote:
An all-D MySQL/MariaDB client library:
https://github.com/mysql-d/mysql-native
==========================================
[...]
Is unix socket connection supported? I'm not seeing any
information about it in the docs.
It's not currently supported. From the "Additional Notes"
section of the readme:
"Normally, MySQL clients connect to a server on the same
machine via a Unix socket on *nix systems, and through a named
pipe on Windows. Neither of these conventions is currently
supported. TCP is used for all connections."
- https://github.com/mysql-d/mysql-native#additional-notes
I'm not opposed to it being added, but I'm not aware of what
benefit it would provide that would big enough to make it a
priority. Also, AFAIK, vibe doesn't offer socket support like
it does TCP, so vibe users would loose out on the automatic
yield-on-io that's a cornerstone of vibe's concurrency design.
UNIX sockets provide a way to securely connect in an
enclosed/isolated environment without exposing connection
externally. This is used in my company in our microservice
infrastructure on Google Cloud: we connect to our db instance
using a proxy and its the recommended approach in microservices.
Its a very common security practice. The default approach on
Google Cloud. I would do the same for any db I want to prevent
external access to. If vibe.d doesn't support it then its missing
a big piece of a puzzle.