Package: mysql-server-5.6 Version: 5.6.25-3 Severity: important Hi,
When my.cnf contains an unsupported option (maybe because a previous version supported it [like log-slow-queries]), mysqld exits immediately. However, mysqld_safe does not report back that error, and returns a success exit code. Steps to reproduce: % sudo vim /etc/mysql/my.cnf # add an unknown option like log-slow-queries = /tmp/mysql.slow % sudo env -i mysqld_safe --log-error=error.log 150907 09:52:52 mysqld_safe Can't log to error log and syslog at the same time. Remove all --log-error configuration options for --syslog to take effect. 150907 09:52:52 mysqld_safe Logging to '/var/lib/mysql/error.log'. 150907 09:52:52 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql 150907 09:52:54 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended % echo $? 0 % ls error.log ls: cannot access error.log: No such file or directory % tail /var/log/{mysql.err,mysql/error.log} ==> /var/log/mysql.err <== ==> /var/log/mysql/error.log <== % # Give up, run mysql directly % sudo env -i `which mysqld` 2015-09-07 09:55:17 0 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead. 2015-09-07 09:55:17 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2015-09-07 09:55:17 0 [Note] /usr/sbin/mysqld (mysqld 5.6.25-3) starting as process 16342 ... % echo $? 7 % # Huh, why did this fail % sudo env -i `which mysqld` --verbose 2015-09-07 09:56:38 0 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead. 2015-09-07 09:56:38 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2015-09-07 09:56:38 0 [Note] /usr/sbin/mysqld (mysqld 5.6.25-3) starting as process 16411 ... 2015-09-07 09:56:38 16411 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead. 2015-09-07 09:56:38 16411 [Note] Plugin 'FEDERATED' is disabled. 2015-09-07 09:56:38 16411 [ERROR] Function 'innodb' already exists 2015-09-07 09:56:38 16411 [Warning] Couldn't load plugin named 'innodb' with soname 'ha_innodb.so'. 2015-09-07 09:56:38 16411 [ERROR] Function 'federated' already exists 2015-09-07 09:56:38 16411 [Warning] Couldn't load plugin named 'federated' with soname 'ha_federated.so'. 2015-09-07 09:56:38 16411 [ERROR] Function 'blackhole' already exists 2015-09-07 09:56:38 16411 [Warning] Couldn't load plugin named 'blackhole' with soname 'ha_blackhole.so'. 2015-09-07 09:56:38 16411 [ERROR] Function 'archive' already exists 2015-09-07 09:56:38 16411 [Warning] Couldn't load plugin named 'archive' with soname 'ha_archive.so'. 2015-09-07 09:56:38 16411 [Note] InnoDB: Using atomics to ref count buffer pool pages 2015-09-07 09:56:38 16411 [Note] InnoDB: The InnoDB memory heap is disabled 2015-09-07 09:56:38 16411 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 2015-09-07 09:56:38 16411 [Note] InnoDB: Memory barrier is not used 2015-09-07 09:56:38 16411 [Note] InnoDB: Compressed tables use zlib 1.2.8 2015-09-07 09:56:38 16411 [Note] InnoDB: Using Linux native AIO 2015-09-07 09:56:38 16411 [Note] InnoDB: Using CPU crc32 instructions 2015-09-07 09:56:38 16411 [Note] InnoDB: Initializing buffer pool, size = 128.0M 2015-09-07 09:56:38 16411 [Note] InnoDB: Completed initialization of buffer pool 2015-09-07 09:56:38 16411 [Note] InnoDB: Highest supported file format is Barracuda. 2015-09-07 09:56:38 16411 [Note] InnoDB: 128 rollback segment(s) are active. 2015-09-07 09:56:38 16411 [Note] InnoDB: Waiting for purge to start 2015-09-07 09:56:38 16411 [Note] InnoDB: 5.6.25 started; log sequence number 4067979378 2015-09-07 09:56:38 16411 [ERROR] /usr/sbin/mysqld: unknown variable 'log-slow-queries=/tmp/mysql.slow' 2015-09-07 09:56:38 16411 [ERROR] Aborting 2015-09-07 09:56:38 16411 [Note] Binlog end 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'partition' 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'ARCHIVE' 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'INNODB_SYS_DATAFILES' 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'INNODB_SYS_TABLESPACES' 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN_COLS' 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN' 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'INNODB_SYS_FIELDS' 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'INNODB_SYS_COLUMNS' 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'INNODB_SYS_INDEXES' 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'INNODB_SYS_TABLESTATS' 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'INNODB_SYS_TABLES' 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'INNODB_FT_INDEX_TABLE' 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'INNODB_FT_INDEX_CACHE' 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'INNODB_FT_CONFIG' 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'INNODB_FT_BEING_DELETED' 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'INNODB_FT_DELETED' 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'INNODB_FT_DEFAULT_STOPWORD' 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'INNODB_METRICS' 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'INNODB_BUFFER_POOL_STATS' 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE_LRU' 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE' 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX_RESET' 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX' 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'INNODB_CMPMEM_RESET' 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'INNODB_CMPMEM' 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'INNODB_CMP_RESET' 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'INNODB_CMP' 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'INNODB_LOCK_WAITS' 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'INNODB_LOCKS' 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'INNODB_TRX' 2015-09-07 09:56:38 16411 [Note] Shutting down plugin 'InnoDB' 2015-09-07 09:56:38 16411 [Note] InnoDB: FTS optimize thread exiting. 2015-09-07 09:56:38 16411 [Note] InnoDB: Starting shutdown... 2015-09-07 09:56:40 16411 [Note] InnoDB: Shutdown completed; log sequence number 4067979388 2015-09-07 09:56:40 16411 [Note] Shutting down plugin 'BLACKHOLE' 2015-09-07 09:56:40 16411 [Note] Shutting down plugin 'PERFORMANCE_SCHEMA' 2015-09-07 09:56:40 16411 [Note] Shutting down plugin 'CSV' 2015-09-07 09:56:40 16411 [Note] Shutting down plugin 'MyISAM' 2015-09-07 09:56:40 16411 [Note] Shutting down plugin 'MRG_MYISAM' 2015-09-07 09:56:40 16411 [Note] Shutting down plugin 'MEMORY' 2015-09-07 09:56:40 16411 [Note] Shutting down plugin 'sha256_password' 2015-09-07 09:56:40 16411 [Note] Shutting down plugin 'mysql_old_password' 2015-09-07 09:56:40 16411 [Note] Shutting down plugin 'mysql_native_password' 2015-09-07 09:56:40 16411 [Note] Shutting down plugin 'binlog' 2015-09-07 09:56:40 16411 [Note] /usr/sbin/mysqld: Shutdown complete === So, there are a two things going on wrong here: 1. mysqld_safe does not report back the unsucessful return value from mysqld 2. mysqld decides that a fatal error is not worth reporting unless --verbose is given This leads to extra problems because: 3. The unit file tries to connect to the server but it does not check if the server is running first, and thus waits 90 seconds before failing. 4. Neither the systemd nor the mysql logs show why the start fails (or the apt output either, for that matter). -- System Information: Debian Release: stretch/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.1.0-2-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages mysql-server-5.6 depends on: ii adduser 3.113+nmu3 ii debconf [debconf-2.0] 1.5.57 ii init-system-helpers 1.23 ii initscripts 2.88dsf-59.2 ii libaio1 0.3.110-1 ii libc6 2.19-19 ii libdbi-perl 1.633-1 ii libgcc1 1:5.2.1-16 ii libstdc++6 5.2.1-16 ii libwrap0 7.6.q-25 ii lsb-base 4.1+Debian14 ii mysql-client-5.6 5.6.25-3 ii mysql-common 5.6.25-3 ii mysql-server-core-5.6 5.6.25-3 ii passwd 1:4.2-3 ii perl 5.20.2-6 ii psmisc 22.21-2.1 ii zlib1g 1:1.2.8.dfsg-2+b1 Versions of packages mysql-server-5.6 recommends: ii libhtml-template-perl 2.95-2 Versions of packages mysql-server-5.6 suggests: ii heirloom-mailx [mailx] 12.5-5 ii tinyca 0.7.5-5 -- debconf information: * mysql-server/error_setting_password: mysql-server-5.6/postrm_remove_databases: false mysql-server-5.6/start_on_boot: true mysql-server-5.6/really_downgrade: false mysql-server/password_mismatch: mysql-server/no_upgrade_when_using_ndb: mysql-server-5.6/nis_warning: