Not the answer you need?
Register and ask your own question!

mysqld_safe issue on debian stretch

aqueosaqueos EntrantLegacy User Role Contributor
hi,


After installing perconna mysql server 5.7 on a brand new debian stretch i was able to start the server but then all actions of /etc/init.d/mysql failed. I tracked the issue to the fact that the pid file in the config files is in /var/run/mysql but mysqld_safe create it under /var/lib/mysql. See:

GUEST:[email protected]:[~]: /etc/init.d/mysql status
[info] Percona Server 5.7.19-17 is not running.
GUEST:[email protected]:[~]: ps auxwf|grep mysql
root 1030 0.0 0.0 13388 1020 pts/2 S+ 15:28 0:00 \_ grep mysql
GUEST:[email protected]:[~]: find /etc/mysql/ -type f -exec grep -i pid {} \;
pid-file = /var/run/mysqld/mysqld.pid
pid_file = /var/run/mysqld/mysqld.pid <= yes i tried this _ one too ;p
pid-file = /var/run/mysqld/mysqld.pid
pid_file = /var/run/mysqld/mysqld.pid <= yes i tried this _ one too ;p
pid-file = /var/run/mysqld/mysqld.pid
pid-file = /var/run/mysqld/mysqld.pid
pid_file = /var/run/mysqld/mysqld.pid <= yes i tried this _ one too ;p
GUEST:[email protected]:[~]: /etc/init.d/mysql start
GUEST:[email protected]:[~]: ps auxwf|grep mysql
root 1172 0.0 0.0 13388 972 pts/2 S+ 15:29 0:00 \_ grep mysql
mysql 1076 0.0 0.0 4288 1572 ? S 15:29 0:00 /bin/sh /usr/bin/mysqld_safe
mysql 1141 25.7 1.5 1158856 196944 ? Sl 15:29 0:01 \_ /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --log-error=stretch01.aqueos.net.err --pid-file=stretch01.aqueos.net.pid

GUEST:[email protected]:[~]: /etc/init.d/mysql status
[info] Percona Server 5.7.19-17 is not running.

GUEST:[email protected]:[~]: ll /var/run/mysqld/mysqld.pid
ls: cannot access '/var/run/mysqld/mysqld.pid': No such file or directory
GUEST:[email protected]:[~]: ll /var/lib/mysql/stretch01.aqueos.net.pid
-rw-r
1 mysql mysql 5 oct. 25 15:29 /var/lib/mysql/stretch01.aqueos.net.pid


The command of the init.d script seems to be good:

GUEST:[email protected]:[~]: my_print_defaults mysqld_safe pid-file | sed -n "s/^--pid-file=//p" | tail -n 1
/var/run/mysqld/mysqld.pid

but it does not transmit this to mysqld_safe that do not read any of the cnf files so it creates the pid at the default location that is $DATADIR/xxxx.pid

my_print_defaults in mysqld-safe needs a default file location and the scritp do not send it. /etc/init.d/mysql send just :

su - mysql -s /bin/bash -c "mysqld_safe > /dev/null &"


removing all pid-file in the *.cnf files make all works again as mysqld_safe AND /etc/init.d/mysql use the default

GUEST:[email protected]:[~]: find /etc/mysql/ -type f -exec grep -i pid {} \;
#pid-file = /var/run/mysqld/mysqld.pid
#pid-file = /var/run/mysqld/mysqld.pid

GUEST:[email protected]:[~]: /etc/init.d/mysql status
[info] Percona Server 5.7.19-17 is running.

GUEST:[email protected]:[~]: /etc/init.d/mysql restart
[info] Stopping Percona Server 5.7.19-17.
....
[info] Percona Server 5.7.19-17 is stopped.
[info] Re-starting Percona Server 5.7.19-17.
GUEST:[email protected]:[~]:

so the /etc/init.d/mysql read the config files but mysqld_safe do not making different settings from the default fail.


best regards,
ghislain.

ps: debian stretch with sysV init (no systemd)
perconna installed by using the personna repository for debian and apt-get install percona-server-server-5.7

ii percona-release 0.1-4.stretch all Package to install Percona gpg key and APT repo
ii percona-server-client-5.7 5.7.19-17-1.stretch amd64 Percona Server database client binaries
ii percona-server-common-5.7 5.7.19-17-1.stretch amd64 Percona Server database common files (e.g. /etc/mysql/my.cnf)
ii percona-server-server-5.7 5.7.19-17-1.stretch amd64 Percona Server database server binaries
Sign In or Register to comment.

MySQL, InnoDB, MariaDB and MongoDB are trademarks of their respective owners.
Copyright ©2005 - 2020 Percona LLC. All rights reserved.