【发布时间】:2015-07-24 17:29:39
【问题描述】:
我可以成功连接到服务器并登录到 MySQL 数据库。但现在我需要在数据库表上运行一些 SQL 查询,但遇到错误:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)。
我不确定 SQL 查询的语法是否正确?每次我需要运行 SQL 查询时,我还需要连接到服务器吗?请给我一些意见。谢谢。
/* SUCCESS */
$ssh = new Net_SSH2('XX.XXX.XX.XXX');
if (!$ssh->login('root', 'password')) {
exit('Login Failed');
}
echo $ssh->exec('pwd');
/* SUCCESS */
if (!$ssh->exec('mysql -h localhost -u root -pDataBaseName \r\n')){
exit('Login to MySQL Failed');
}else{
echo "Login to MySQL Success";
}
/* ERROR - facing error in this code*/
echo $ssh->exec('mysql -h localhost -u root -pDataBaseName -e "SELECT * FROM cmu_util_all"');
【问题讨论】:
-
这是因为您可能输入了错误的用户名或密码。
-
为什么要使用 exec 来运行 MySQL 查询?
-
@Kyle:他希望对 DB 服务器和 Web 服务器之间的连接进行加密。 SSH (虽然不寻常)并不是最糟糕的方法。
-
有趣。但是,如果您只是通过 SSL 运行脚本,它不会做同样的事情吗?这样你就不必使用 exec()。