Назад | Перейти на главную страницу

mysqlcheck не поддерживает несколько противоречащих друг другу команд

Есть идеи, почему я вижу это сообщение об ошибке? Этот сценарий отлично работает с чуть более старой версией MySQL, работающей на другом сервере с аналогичной конфигурацией.

:: check/analyze/repair/optimize
@echo.
@echo Check Tables
%MYSQL_BIN%\mysqlcheck -u %MYSQL_USER% -p%MYSQL_PW% -v -1 -A -c
@echo.
@echo Repair Tables (medium)
%MYSQL_BIN%\mysqlcheck -u %MYSQL_USER% -p%MYSQL_PW% -v -1 -A -r -m
@echo.
@echo Analyze Tables
%MYSQL_BIN%\mysqlcheck -u %MYSQL_USER% -p%MYSQL_PW% -v -1 -A -a
@echo.
@echo Optimize Tables
%MYSQL_BIN%\mysqlcheck -u %MYSQL_USER% -p%MYSQL_PW% -v -1 -A -o

Ошибка: C: ... \ MySQL Server 5.5 \ bin \ mysqlcheck не поддерживает несколько противоречащих друг другу команд

По крайней мере, один из ваших переключателей, вероятно, теперь является взаимоисключающим по отношению к другому в одном или нескольких вызовах mysqlcheck.

Посмотри на каждого из них (-v, -1, -A, -c, -r, -m, -a, -o), выясните, что делает каждый из них, и выясните, как разбить их на отдельные вызовы для mysqlcheck, поэтому они не противоречат друг другу.

В качестве гипотетического примера: -v в сочетании с -r может означать «установить часы назад и установить часы вперед» - инструкция, которая, возможно, может интерпретироваться как противоречивая. Если вы хотите выполнить обе операции, вы должны выполнить их за два последовательных вызова mysqlcheckв том порядке, в котором они должны запускаться.

Как было сказано ранее, используемые вами переключатели являются взаимоисключающими: поэтому вы хотите избавиться от одной опции. Попробуй это:

mysqlcheck -u %MYSQL_USER% -p%MYSQL_PW% --auto-repair --optimize --all-databases

Если не ошибаюсь, вы получите то же самое с помощью одной команды.