#mysql #deployment
#mysql #развертывание
Вопрос:
Я хочу развернуть mysql в автоматическом режиме.
Сервер был установлен в автоматическом режиме с помощью этой командной строки:
msiexec /i "d:mysql-essential-5.1.34-win32.msi" INSTALLDIR="D:mysql" DATADIR="D:mysql_data" /qn
Нет проблем.
После этого мне тоже пришлось тихо запускать mysqlinstanceconfig. Я использовал следующую командную строку:
"D:mysqlbinmysqlinstanceconfig.exe" -i -q ServiceName=MySQL AddBinToPath=yes ServerType=SERVER DatabaseType=MYISAM ConnectionUsage=DSS Port=3306 StrictMode=no Charset=utf8 RootPassword=mypass
Несмотря на настройку StrictMode=no
(я хочу отключить строгий режим), это не сработало, потому что у меня все еще включен строгий режим при запуске этого запроса на сервере:
SHOW VARIABLES LIKE 'sql_mode';
Я получил это:
sql_mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
Обычно я должен иметь:
sql_mode = ""
Что-то не так с mysqlinstanceconfig.exe командная строка?
Комментарии:
1. он будет использовать значения по умолчанию, и я согласен, что это правильный выбор для строгого режима, поэтому, если вам нужны другие значения, замените или перепишите my.ini
2. замена my.ini является рискованной, поскольку пользователь может выбрать установку mysql на другой диск.
3. Перезапись его при развертывании утомительна и также может привести к ошибкам, поскольку установочный диск очень важен для my.ini, он предназначен для конечного пользователя. что странно, когда вы используете пользовательский интерфейс и снимаете флажок строгий режим, он работает так, как задумано!! но в автоматическом режиме используется значение по умолчанию, несмотря на то, что StrictMode = no может быть = no не является правильным значением для передачи установщику?? Помогите, пожалуйста
4. вы знаете, какая папка с данными будет использоваться, поэтому у вас не возникнет проблем с ее поиском, передача выполняется быстро и без ошибок, у вас есть в начале значение my.ini по умолчанию, и оно всегда выглядит одинаково
5. Итак, вы предлагаете заменить строку sql_mode=»STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION» на sql_mode = » в ini-файле. правильно?