mysqlcheck 不支持多个相互矛盾的命令

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 不支持多个相互矛盾的命令

答案1

在一次或多次调用中,至少有一个开关可能与另一个开关互斥mysqlcheck

逐一查看-v,,,,,,,),弄清楚它们各自的作用,并弄清楚如何将它们分解为对的单独调用,这样它们-1, -A就不会互相矛盾。-c-r-m-a-omysqlcheck

举个假设的例子,-v与 结合-r可能意味着“将时钟调回并调快”——这条指令可能会被解释为相互矛盾。如果您想执行这两项操作,则必须按照mysqlcheck您要求的运行顺序,连续两次调用 来执行它们。

答案2

如前所述,您使用的开关是互斥的:因此您想要删除一个选项。试试这个:

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

如果我没记错的话,只需一个命令就可以获得相同的效果。

相关内容