Perl not connecting to MySQL [Solved]

macports at raf.org macports at raf.org
Mon Mar 11 22:04:53 UTC 2019


MacPorts wrote:

> On 3/11/19 1:34 AM, Andrew Udvare wrote:
> >> On 2019-03-11, at 00:10, MacPorts <macports at hyperbole-software.com> wrote:
> >>
> >> I noticed that the socket in /var/mysql is called mysql.sock while the one in /opt/local/var/run/mysql5 is called mysqld.sock (note the 'd' between 'l' and '.').
> >>
> >> I tried using
> >>    $ sudo ln -s /var/mysql/mysql.sock /opt/local/var/run/mysql5/mysqld.sock
> >>
> >> for some reason that also didn't work.
> >>
> >> Then I tried:
> >>    $ sudo ln -s /var/mysql/mysql.sock /opt/local/var/run/mysql5/mysql.sock
> >>    $ sudo mv /opt/local/var/run/mysql5/mysql.sock /opt/local/var/run/mysql5/mysqld.sock
> >>
> >> this worked. I don't know why this worked and making the link directly didn't, but at least it's working now.
> >>
> > I ran into a similar issue a long time ago with PHP. PHP has an option to control this setting at build time and it also has a runtime option in php.ini.
> >
> > The DBI port should be doing the same. I don't think users should have to add things outside of the prefix, unmanaged by port.
> >
> I thought creating a link from the socket file to where Perl expects to
> find it was working. It's not.
> 
> What is working is to specify the path to the socket file with
> "mysql_socket=/var/mysql/mysql.sock" in the dsn when I make the
> connection, but, that makes the code specific to my machine, so I'd like
> to find a better solution. Still looking.
> 
> Carl.

how about putting the dsn in a config file for your application
or getting it from an environment variable rather than having
it inside the application's code?

cheers,
raf



More information about the macports-users mailing list