【问题标题】:SQL queries in MySQL using phpseclibMySQL 中使用 phpseclib 的 SQL 查询
【发布时间】:2015-07-24 08:06:46
【问题描述】:

我正在尝试连接到远程服务器上的 MySQL 数据库,我可以成功连接到服务器并登录到 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"');

【问题讨论】:

  • -pDataBaseName 并不意味着 DataBaseName 是 mysql 正在连接的数据库 - 这意味着您使用 DataBaseName 作为密码。如果这是您的意图,那很好,但似乎这也可能是您的错误..

标签: php mysql phpseclib


【解决方案1】:

您的SELECT 语句未指定要使用的数据库。

mysql -h localhost -u root -pDataBaseName -e "SELECT * FROM cmu_util_all"

您可以通过在查询中指定数据库来解决此问题:

SELECT * FROM yourdatabase.cmu_util_all

或通过指定用于连接的默认数据库:

mysql -h localhost -u root -pDataBaseName -e "SELECT * FROM cmu_util_all" yourdatabase

【讨论】:

  • 我仍然面临错误:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-06-26
  • 1970-01-01
  • 1970-01-01
  • 2018-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多