Description:
If the source tree is put in a path that including '#' character, ndbd will fail to start. '#' is used as a comment character, so the DataDir is recognized incorrectly if there is a '#' in the pathname, although put a '#' character in the pathname is not a good habit, but it's allowed by the OS.
How to repeat:
assume we have an already built source tree mysql-5.1.23, now do the following:
$ mv mysql-5.1.23 mysql-5.1.23#test
$ cd mysql-5.1.23#test/mysql-test
$ ./mtr
the test will hange at installing slave cluster, and you will see error in var/ndbcluster-*/ndb-*.log, and you will see a line like this in var/ndbcluster-*/config.ini:
DataDir= /work/mysql/bkwork/mysql-5.1.23#test/mysql-test/var/ndbcluster-9311
Suggested fix:
Add quote support for ndbd configuration file:
DataDir="/work/mysql/bkwork/mysql-5.1.23#test/mysql-test/var/ndbcluster-931"