即使密码失败,mysqladmin ping也会返回0,mysqlclient不会。这是Mysqladmin Developpers的错误吗?我不明白为什么Mysqladmin要求输入登录名/密码,因为即使您没有指定登录名,它也会返回0。mysqladmin ping错误代码
如果我尝试中mysqladmin平没有任何登录/密码:
# mysqladmin ping ; echo $? mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: NO)' 0
中mysqladmin给我一个登录错误,并告诉我,该服务器当前正在运行(0值),那么为什么要求,如果登录仍然给我答案?
当我做这样的事情:
#mysqladmin -uroot -pWrongPassword ping ; echo $? mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: YES)' 0
这回我0而不是1
现在,如果我停止MySQL服务器,然后再试一次:
# mysqladmin -uroot -pWrongPassword ping ; echo $? mysqladmin: connect to server at 'localhost' failed error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)' Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists! 1
它给我适当的价值,因为服务器停止,我们不关心错误的密码。
最后我做了的mysql和wrongpassword相同的测试:
# mysql -uroot -pWrongPassword mysql -sN -e "select * from user" ; echo $? ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 1
我知道这个命令的主要目的是测试MySQL服务器的可用性,但要求一个登录/密码没有按如果你仍然给出0的值,那么没有任何意义。
你认为这是一个错误?
虽然你可以使用'status'! – daGrevis