Bug #53552 external-locking option does now work when used in conjunction with mysqld_safe
Submitted: 11 May 2010 5:34 Modified: 13 May 2010 23:16
Reporter: Roel Van de Paar (OCA) Email Updates:
Status: Won't fix Impact on me:
None 
Category:MySQL Server: Locking Severity:S2 (Serious)
Version:5.0.90 OS:Linux
Assigned to: CPU Architecture:Any
Triage: Needs Triage: D2 (Serious)

[11 May 2010 5:34] Roel Van de Paar
Description:
It looks like --skip-external-locking is part of mysqld_safe in 5.0:

========
roel@roel-ubuntu-vm:/mysql/mysql-5.0.90-linux-i686-icc-glibc23/bin$ cat mysqld_safe | grep lock
    $NOHUP_NICENESS $ledir/$MYSQLD $defaults --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR $USER_OPTION --pid-file=$pid_file --skip-external-locking >> $err_log 2>&1
    eval "$NOHUP_NICENESS $ledir/$MYSQLD $defaults --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR $USER_OPTION --pid-file=$pid_file --skip-external-locking $args >> $err_log 2>&1"
========

Result: specifying external-locking in my.cnf does not work.

How to repeat:
Specify 

[mysqld]
external-locking 

Start the server using mysqld_safe

Observe:

mysql> show global variables like '%external%';
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| skip_external_locking | ON    | 
+-----------------------+-------+

Suggested fix:
Looks fixed in 5.1+:

roel@roel-ubuntu-vm:/mysql/mysql-advanced-gpl-5.1.41-linux-i686-icc-glibc23/bin$ cat mysqld_safe | grep lock
roel@roel-ubuntu-vm:/mysql/mysql-advanced-gpl-5.1.41-linux-i686-icc-glibc23/bin$ 

Could not immediately find a bug where this was handled.
[11 May 2010 5:35] Roel Van de Paar
Workaround: modify mysqld_safe script to remove --skip_external_locking option twice
[13 May 2010 23:16] Omer Barnir
Issues is fixed in 5.1 and will not be addressed in 5.0 as release is in EOL