Bug #74814 | mysqld_multi does not respect [mysqld*] section in installdir/etc/my.cnf | ||
---|---|---|---|
Submitted: | 12 Nov 2014 11:01 | Modified: | 9 Apr 2015 12:29 |
Reporter: | Georgi Iovchev | Email Updates: | |
Status: | Verified | Impact on me: | |
Category: | MySQL Server: Command-line Clients | Severity: | S3 (Non-critical) |
Version: | 5.5.40, 5.5.43, 5.6.23 | OS: | Linux (CentOS 6.6) |
Assigned to: | CPU Architecture: | Any | |
Tags: | mysqld_multi |
[12 Nov 2014 11:01]
Georgi Iovchev
[12 Nov 2014 11:21]
Georgi Iovchev
The problem is that in mysqld_multi on line 487 it was missing "etc" in the path: '/opt/mysql/mysql5540/my.cnf' I changed to '/opt/mysql/mysql5540/etc/my.cnf' In sources I believe that in file scripts/mysqld_multi same line (487): '@sysconfdir@/my.cnf', also should be changed to: '@sysconfdir@/etc/my.cnf', @Devs, please make this correction in future releases :)
[9 Apr 2015 12:29]
MySQL Verification Team
Hello Georgi Iovchev, Thank you for the report. Observed this with 5.5.43 source build. Thanks, Umesh
[9 Apr 2015 12:29]
MySQL Verification Team
// OS and source details [root@cluster-repo mysql-5.5.43]# cat /etc/*release LSB_VERSION=base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch Oracle Linux Server release 6.6 Red Hat Enterprise Linux Server release 6.6 (Santiago) Oracle Linux Server release 6.6 [root@cluster-repo archive]# md5sum mysql-5.5.43.tar.gz d77cc87df51af3f79b005d90e26879c1 mysql-5.5.43.tar.gz [root@cluster-repo mysql-5.5.43]# cmake . -DCMAKE_INSTALL_PREFIX=/data/ushastry/server/source_build/mysql-5.5.43 -- Running cmake version 2.8.12.2 -- Found Git: /usr/bin/git (found version "1.7.1") -- The C compiler identification is GNU 4.4.7 -- The CXX compiler identification is GNU 4.4.7 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Looking for SHM_HUGETLB -- Looking for SHM_HUGETLB - found -- MySQL 5.5.43 . -- Configuring done -- Generating done -- Build files have been written to: /data/ushastry/server/source_build/mysql-5.5.43 [root@cluster-repo mysql-5.5.43]# make && make install ### [root@cluster-repo mysql-5.5.43]# bin/mysqld --verbose --help|grep cnf 150411 19:07:34 [Note] bin/mysqld (mysqld 5.5.43) starting as process 9165 ... .. /etc/my.cnf /etc/mysql/my.cnf /data/ushastry/server/source_build/mysql-5.5.43/etc/my.cnf ~/.my.cnf my.cnf, $MYSQL_TCP_PORT, /etc/services, built-in default [root@cluster-repo mysql-5.5.43]# ## mysqld_multi conf file in /data/ushastry/server/source_build/mysql-5.5.43/etc/my.cnf [mysqld_multi] mysqld = /data/ushastry/server/source_build/mysql-5.5.43/bin/mysqld_safe mysqladmin = /data/ushastry/server/source_build/mysql-5.5.43/bin/mysqladmin user = multi password = pass log=/data/ushastry/server/source_build/mysql-5.5.43/log/mysqld_multi.log [mysqld3306] socket = /tmp/mysql_3306.sock port = 3306 pid-file = /data/ushastry/server/source_build/mysql-5.5.43/run/3306.pid datadir = /data/ushastry/server/source_build/mysql-5.5.43/3306 user = mysql [mysqld3307] socket = /tmp/mysql_3307.sock port = 3307 pid-file = /data/ushastry/server/source_build/mysql-5.5.43/run/3307.pid datadir = /data/ushastry/server/source_build/mysql-5.5.43/3307 user = mysql ####### [root@cluster-repo mysql-5.5.43]# bin/mysqld_multi report Reporting MySQL servers No groups to be reported (check your GNRs) ## When I provide --defaults-file then it works [root@cluster-repo mysql-5.5.43]# bin/mysqld_multi --defaults-file=etc/my.cnf report Reporting MySQL servers MySQL server from group: mysqld3306 is not running MySQL server from group: mysqld3307 is not running ## scripts/mysqld_multi - etc is missing in 487 483 my %seen; # Don't list the same file more than once 484 return grep { defined $_ and not $seen{$_}++ and -f $_ and -r $_ } 485 ('/etc/my.cnf', 486 '/etc/mysql/my.cnf', 487 '/data/ushastry/server/source_build/mysql-5.5.43/my.cnf', 488 ($ENV{MYSQL_HOME} ? "$ENV{MYSQL_HOME}/my.cnf" : undef), 489 $opt{'extra-file'}, 490 ($ENV{HOME} ? "$ENV{HOME}/.my.cnf" : undef)); ## After changing /data/ushastry/server/source_build/mysql-5.5.43/my.cnf to /data/ushastry/server/source_build/mysql-5.5.43//etc/my.cnf [root@cluster-repo mysql-5.5.43]# bin/mysqld_multi report Reporting MySQL servers MySQL server from group: mysqld3306 is not running MySQL server from group: mysqld3307 is not running
[9 Apr 2015 13:03]
MySQL Verification Team
//5.6.23 // OS and source details [root@cluster-repo mysql-5.5.43]# cat /etc/*release LSB_VERSION=base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch Oracle Linux Server release 6.6 Red Hat Enterprise Linux Server release 6.6 (Santiago) Oracle Linux Server release 6.6 [root@cluster-repo archive]# md5sum mysql-5.6.23.tar.gz 60344f26eae136a267a0277407926e79 mysql-5.6.23.tar.gz // build [root@cluster-repo mysql-5.6.23]# cmake . -DCMAKE_INSTALL_PREFIX=/data/ushastry/server/source_build/mysql-5.6.23/ -- Running cmake version 2.8.12.2 -- Found Git: /usr/bin/git (found version "1.7.1") -- The C compiler identification is GNU 4.4.7 -- The CXX compiler identification is GNU 4.4.7 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done .. . -- Configuring done -- Generating done -- Build files have been written to: /data/ushastry/server/source_build/mysql-5.6.23 [root@cluster-repo mysql-5.6.23]# make && make install Scanning dependencies of target INFO_BIN [ 0%] Built target INFO_BIN .. ### [root@cluster-repo mysql-5.6.23]# bin/mysqld --verbose --help|grep cnf .. /etc/my.cnf /etc/mysql/my.cnf /data/ushastry/server/source_build/mysql-5.6.23/etc/my.cnf ~/.my.cnf my.cnf, $MYSQL_TCP_PORT, /etc/services, built-in default ## mysqld_multi conf file in /data/ushastry/server/source_build/mysql-5.6.23/etc/my.cnf [mysqld_multi] mysqld = /data/ushastry/server/source_build/mysql-5.6.23/bin/mysqld_safe mysqladmin = /data/ushastry/server/source_build/mysql-5.6.23/bin/mysqladmin user = multi password = pass log=/data/ushastry/server/source_build/mysql-5.6.23/log/mysqld_multi.log [mysqld3306] socket = /tmp/mysql_3306.sock port = 3306 pid-file = /data/ushastry/server/source_build/mysql-5.6.23/run/3306.pid datadir = /data/ushastry/server/source_build/mysql-5.6.23/3306 user = mysql [mysqld3307] socket = /tmp/mysql_3307.sock port = 3307 pid-file = /data/ushastry/server/source_build/mysql-5.6.23/run/3307.pid datadir = /data/ushastry/server/source_build/mysql-5.6.23/3307 user = mysql ####### [root@cluster-repo mysql-5.6.23]# bin/mysqld_multi report Reporting MySQL servers No groups to be reported (check your GNRs) ## When I provide --defaults-file then it works [root@cluster-repo mysql-5.6.23]# bin/mysqld_multi --defaults-file=etc/my.cnf report Reporting MySQL servers MySQL server from group: mysqld3306 is not running MySQL server from group: mysqld3307 is not running ## scripts/mysqld_multi - etc is missing in 578 574 my %seen; # Don't list the same file more than once 575 return grep { defined $_ and not $seen{$_}++ and -f $_ and -r $_ } 576 ('/etc/my.cnf', 577 '/etc/mysql/my.cnf', 578 '/data/ushastry/server/source_build/mysql-5.6.23/my.cnf', 579 ($ENV{MYSQL_HOME} ? "$ENV{MYSQL_HOME}/my.cnf" : undef), 580 $opt{'extra-file'}, 581 ($ENV{HOME} ? "$ENV{HOME}/.my.cnf" : undef)); 582 } // included correct path [root@cluster-repo mysql-5.6.23]# bin/mysqld_multi report Reporting MySQL servers MySQL server from group: mysqld3306 is not running MySQL server from group: mysqld3307 is not running