func shutdownCmd(mysqld *mysqlctl.Mysqld, subFlags *flag.FlagSet, args []string) { waitTime := subFlags.Duration("wait_time", mysqlctl.MysqlWaitTime, "how long to wait for shutdown") subFlags.Parse(args) if mysqlErr := mysqld.Shutdown(true, *waitTime); mysqlErr != nil { log.Fatalf("failed shutdown mysql: %v", mysqlErr) } }
func shutdownCmd(mysqld *mysqlctl.Mysqld, subFlags *flag.FlagSet, args []string) error { waitTime := subFlags.Duration("wait_time", 2*time.Minute, "how long to wait for shutdown") subFlags.Parse(args) ctx, cancel := context.WithTimeout(context.Background(), *waitTime) defer cancel() if err := mysqld.Shutdown(ctx, true); err != nil { return fmt.Errorf("failed shutdown mysql: %v", err) } return nil }