I can connect to mysql but "www" cant

Ok more Mac OS X strange stuff. I have telnet disabled in favor of
ssh, but that seems to
prevent me from being able to contact my mysqld. I also found out
that by default Mac OS X
server start the daemon with the skip networking option. But what I
find truly mystifying is why I can connect to the mysql server, us my
rt user and password, but that the web user, on the Mac OS X server
it is “www” on some other apache implementation it is nobody.

I believe for rt to work, the user running the web server “www” needs
to be able to access the mysqld. I don’t understand why I can access
mysqld on localhost but not “www”.

secretariat:~ josh$ sudo -u www mysql -u rt_user -p -h localhost
Enter password:
ERROR 2002 (HY000): Can’t connect to local MySQL server through
socket ‘/var/mysql/mysql.sock’ (13)
secretariat:~josh$ mysql -u rt_user -p -h localhost
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.1.13a

I replied to Josh directly in detail, but basically, in a default
install for RT and MySQL in Mac OS X Server, there are a couple of
settings conflicts to resolve.

RT looks for MySQL at ‘’/var/mysql/mysql.sock’
MySQL defaults to “/tmp/mysql.sock” under Mac OS X unless you copy
one of the provided cnf files to /etc/my.cnf

Also there is a permissions problem with ‘/var/mysql/’ that blocks
access to the www user
A ‘chmod 755 /var/mysql/’ fixes it.

Then there is the MySQL password hash. Perl, PHP and other included
builds expect the old password hash in MySQL, MySQL defaults to the
new, longer hash.

Adding ‘old_passwords’ to the [mysqld] section of my.conf fixes this.

MikeOn Dec 13, 2005, at 12:15 PM, Josh Kuperman wrote:

Ok more Mac OS X strange stuff. I have telnet disabled in favor of
ssh, but that seems to
prevent me from being able to contact my mysqld. I also found out
that by default Mac OS X
server start the daemon with the skip networking option. But what I
find truly mystifying is why I can connect to the mysql server, us
my rt user and password, but that the web user, on the Mac OS X
server it is “www” on some other apache implementation it is nobody.

I believe for rt to work, the user running the web server "www"
needs to be able to access the mysqld. I don’t understand why I
can access mysqld on localhost but not “www”.

secretariat:~ josh$ sudo -u www mysql -u rt_user -p -h localhost
Enter password:
ERROR 2002 (HY000): Can’t connect to local MySQL server through
socket ‘/var/mysql/mysql.sock’ (13)
secretariat:~josh$ mysql -u rt_user -p -h localhost
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.1.13a


http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Be sure to check out the RT Wiki at http://wiki.bestpractical.com

Download a free sample chapter of RT Essentials from O’Reilly Media
at http://rtbook.bestpractical.com

WE’RE COMING TO YOUR TOWN SOON - RT Training in Amsterdam, Boston and
San Francisco - Find out more at http://bestpractical.com/services/
training.html