Мне нужно сделать некоторые очистки и пользовательскую инициализацию, прежде чем сервер MySQL сможет принимать соединения. Может ли соединение быть установлено до
init_file = '.../startup.sql';
выполняется?
Если нет, существуют ли какие-либо альтернативные методы, например, временные глобальные переменные, которые сбрасываются каждый раз при запуске сервера?
Вы можете установить глобальную переменную в конфигурационном файле mysqld, и ваши задачи изменят это значение после их завершения. Он будет сбрасываться при каждом запуске сервера. Это будет работать как флаг, который вы ищете. Вы также можете использовать СОБЫТИЕ, чтобы проверить это.
Тем не менее, вы бы лучше описали процесс запуска своего MySQL-сервиса для выполнения задач очистки после того, как он вернется, и он установил соединение локально для их выполнения. Если бы это было важно, вы могли бы разрешить удаленные подключения только после выполнения своих задач.