MySQL 4.0.23a on 5-STABLE has a startup glitch

Fred Condo fcondo at quinn.com
Wed Jan 26 11:23:24 PST 2005


On Jan 26, 2005, at 8:14 AM, Michael Collette wrote:

> On Wed, 26 Jan 2005 13:52:51 +0100, Roman Neuhauser 
> <neuhauser at chello.cz> wrote:
>> # fcondo at quinn.com / 2005-01-21 16:56:09 -0800:
>>> On Jan 21, 2005, at 2:43 PM, Michael Collette wrote:
>>>> On 5-STABLE I am unable to get mysql-server-4.0.23a to start with 
>>>> the
>>>> rcng script.  Upon launching the script it dumps me to a prompt 
>>>> owned
>>>> by the mysql user.  I have run into one other user on the mailing
>>>> lists with the same exact problem.
>>
>>> I'm seeing identical behavior under FreeBSD 4.10-p5 with MySQL 
>>> 4.1.9. I
>>> finally traced the execution of the startup script by invoking it as:
>>>
>>> sh -x /usr/local/etc/rc.d/mysql-server.sh start
>>>
>>> The resulting output showed this detail:
>>>
>>> + su -m mysql -c sh -c "/usr/local/bin/mysqld_safe --user=mysql
>>> --datadir=/var/db/mysql --pid-file=/var/db/mysql/OBFUSCATED.pid >
>>> /dev/null &"
>>> bash: no job control in this shell
>>
>>     That looks like you have installed bash and replaced the original
>>     /bin/sh with (a link to) bash and/or have a strange $PATH.
>>
>>     I strongly suggest you don't try to use bash as /bin/sh: it's a 
>> poor
>>     /bin/sh lookalike, and will e. g. break quite a few jobs in
>>     periodic(8).
>
> I know I haven't done that here.  Bash is my default shell, but I
> didn't do any messing around with linking away from sh.  I'm getting
> the exact same symptoms here on 5-STABLE.
>
> MySQL doesn't start with the new rcng script, and it just sits there
> at a prompt owned by the mysql user.  It will do this when I try to
> launch it manually or at boot.  Running ps ax shows that "su -m mysql"
> line that Fred mentioned.
>
> I just don't quite get why this needs to launch with su anyway.  Isn't
> that what the --user switch is for in the mysqld_safe command?

We also have not ever replaced sh with bash. We had 2 FreeBSD 4.10-p5 
machines, one old, one built strictly to investigate this problem. The 
test machine was able to launch MySQL 4.1.9 with rcng, so obviously 
there is some as yet unknown difference between the two machines -- but 
it is not a matter of having tried to replace the base sh. 
Unfortunately, it means my test machine isn't useful for probing the 
problem, and I had to put my production machine back into production 
under MySQL 3.23.x.

Could someone who can reproduce this problem on a test system do this: 
invoke mysqld_safe with sh -x to see where it drops into the shell 
prompt?

Also, did anyone else seeing this problem have MySQL 3 installed on the 
machine prior to installing MySQL 4?



More information about the freebsd-ports mailing list