Description:
I'm trying out 5.7.7 on a few systems and compared to 5.6 they seem to shutdown a bit slower. I notice this causes an issue as the rpm init scripts have a very short default wait time for the shutdown to complete. Tiny servers may shutdown in 60 seconds but many busy or larger servers may take longer to shutdown. I think it's better to be patient for situations like this.
I see that there's a way via /etc/sysconfig/msyqld to adjust this timeout but I think that it's still worthwhile adjusting the default to are more sensible longer value.
Note: I've not tracked down why the shutdowns seem slower so it may be my perception but the original 5.6 rpm I was using (MySQL-server) don't have such a timeout so I don't have to possibly code any scripting around a shutdown to catch the condition ("mysql didn't shutdown in time").
How to repeat:
When stopping mysqld with /etc/init.d/mysqld I see:
$ sudo tail -f /var/log/mysqld.log
2015-04-30T09:22:34.433512Z 0 [Note] Shutting down plugin 'INNODB_CMP'
2015-04-30T09:22:34.433537Z 0 [Note] Shutting down plugin 'INNODB_LOCK_WAITS'
2015-04-30T09:22:34.433560Z 0 [Note] Shutting down plugin 'INNODB_LOCKS'
2015-04-30T09:22:34.433584Z 0 [Note] Shutting down plugin 'INNODB_TRX'
2015-04-30T09:22:34.433607Z 0 [Note] Shutting down plugin 'InnoDB'
2015-04-30T09:22:34.433731Z 0 [Note] InnoDB: FTS optimize thread exiting.
2015-04-30T09:22:34.433813Z 0 [Note] InnoDB: Starting shutdown...
2015-04-30T09:22:34.534084Z 0 [Note] InnoDB: Dumping buffer pool(s) to .//ib_buffer_pool
2015-04-30T09:22:35.016699Z 0 [Note] InnoDB: Buffer pool(s) dump completed at 150430 11:22:35
2015-04-30T09:23:35.487961Z 0 [Note] InnoDB: Waiting for page_cleaner to finish flushing of buffer pool
2015-04-30T09:24:35.640045Z 0 [Note] InnoDB: Waiting for page_cleaner to finish flushing of buffer pool
2015-04-30T09:25:35.793513Z 0 [Note] InnoDB: Waiting for page_cleaner to finish flushing of buffer pool
2015-04-30T09:26:35.933597Z 0 [Note] InnoDB: Waiting for page_cleaner to finish flushing of buffer pool
2015-04-30T09:27:36.080358Z 0 [Note] InnoDB: Waiting for page_cleaner to finish flushing of buffer pool
2015-04-30T09:28:36.224341Z 0 [Note] InnoDB: Waiting for page_cleaner to finish flushing of buffer pool
2015-04-30T09:29:36.366294Z 0 [Note] InnoDB: Waiting for page_cleaner to finish flushing of buffer pool
2015-04-30T09:30:36.511100Z 0 [Note] InnoDB: Waiting for page_cleaner to finish flushing of buffer pool
2015-04-30T09:31:36.667904Z 0 [Note] InnoDB: Waiting for page_cleaner to finish flushing of buffer pool
2015-04-30T09:32:36.822694Z 0 [Note] InnoDB: Waiting for page_cleaner to finish flushing of buffer pool
2015-04-30T09:32:58.236462Z 0 [Note] InnoDB: Shutdown completed; log sequence number 16364857411420
2015-04-30T09:32:58.236644Z 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
2015-04-30T09:32:58.236671Z 0 [Note] Shutting down plugin 'CSV'
2015-04-30T09:32:58.236696Z 0 [Note] Shutting down plugin 'MRG_MYISAM'
2015-04-30T09:32:58.236714Z 0 [Note] Shutting down plugin 'MyISAM'
2015-04-30T09:32:58.236740Z 0 [Note] Shutting down plugin 'MEMORY'
2015-04-30T09:32:58.236761Z 0 [Note] Shutting down plugin 'sha256_password'
2015-04-30T09:32:58.236780Z 0 [Note] Shutting down plugin 'mysql_native_password'
2015-04-30T09:32:58.236945Z 0 [Note] Shutting down plugin 'binlog'
2015-04-30T09:32:58.238017Z 0 [Note] /usr/sbin/mysqld: Shutdown complete
150430 11:32:58 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
Suggested fix:
The init script has these settings:
# Set timeouts here so they can be overridden from /etc/sysconfig/mysqld
STARTTIMEOUT=120
STOPTIMEOUT=60
I suggest changing STOPTIMEOUT to 600.
Thought: maybe indicate in the shutdown message how long you're going to wait... That's handy info.