Ark*_*rka 4 mysql linux mysqladmin
即使密码失败,mysqladmin ping也会返回0,这是mysqlclient没有的.这是Mysqladmin Developpers的错误吗?我不明白为什么Mysqladmin要求登录/密码,因为即使你没有指定登录,它也会返回0.
如果我尝试没有任何登录名/密码的Mysqladmin ping:
# 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
它给了我正确的价值,因为服务器停止了,我们不关心错误的密码.
最后我用Mysqlclient和一个错误的密码做了同样的测试:
# 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值,则要求登录/密码没有任何意义.
你认为这是一个错误吗?