mysql silently failing to start - suggestions?

Michael Powell nightrecon at hotmail.com
Mon Feb 1 04:35:46 UTC 2010


John wrote:

> If this isn't the right list - if I should try another let me know -
> but since this is the mysql-server-5.4.2 package, and since you
> folks have been so helpful, I thought I'd give it a go.
> 
> Anyway, the system is 8.0-RELEASE and that package is installed,
> and I can't start the server.  Not only can I not start the server,
> but it's not giving me a clue.  I can't find anything anywhere.
> Not in /var/log/messages, not anywhere.  When I run
>     /usr/local/etc/rc.d/mysqlserver start
> it says "Starting mysql.", pauses for several seconds (I don't see
> anything go by in "top") and then the script exits.  At that point,
> one would expect, there's no /tmp/mysql.sock, there's nothing
> in messages or anywhere else.  With nothing to go on, well, I don't
> know where to start.  Any suggestions?

First is there a mysql_enable="YES" line in /etc/rc.conf? The rc subr 
startup system requires it and also the complete path as you did type above. 
Although since it is mysql-server and you got a response I'll assume the 
above is just a typo here in this mail.

If you have changed the location of the database files this variable will 
need setting in /etc/rc.conf as well. The default is /var/db/mysql. Notice 
this directory should be owned by the mysql:mysql user/group combo. This 
will allow for the writing of the <machine-hostname>.pid file. There will 
also be a <machine-hostname>.err file which is the log you need to look at. 
If these files are not present it is either not getting that far in the 
startup, or there is a permissions problem. The normal location of the 
socket is /tmp, which should be permissions 1777 (sticky bit set).

You do have a line setting the hostname of the machine in /etc/rc.conf too, 
right? Such as hostname="testbed.test.zip" for my local dev server at home. 
This should be resolvable either by DNS or a hosts file. Also, be aware that 
the location of the my.cnf file is now /usr/local/etc, although should this 
be missing it should still look for it in /var/db/mysql as a fallback. If 
this file is world writable MySQL will ignore it.

The establishment of the mysql user and group should have occurred as part 
of the port installation. I use ports and not packages, as well as the older 
version of 5.1.42 so I cannot speak to the efficacy of installing a package 
of 5.4.x. Perhaps a package problem? Try installing the 5.1.42 port using 
the ports system instead is one possibility if such may be the case.

-Mike
 



More information about the freebsd-questions mailing list