未捕获的PDOException:SQLSTATE [HY000] [1045]用户'dbuser'@'localhost'的访问被拒绝(使用密码:YES)

问题描述 投票:0回答:1

大多数答案都认为这是一个正确的问题。但我假设不是在这种情况下,因为mysql连接仍然有效。

我正在尝试连接到mariadb10,它位于我网络中的服务器上 我想从我的localhost连接。

如果我在我的终端尝试:

myuser@mylocalComputer ~ $ mysql -h myserver -P 3307 -u mydbuser -pmyconfidentalpassword

一切正常!!

但如果我尝试通过pdo连接php scrypt我得到错误:

<?php
$dsn = 'mysql: host=myserver:3307;dbname=mydbname';
$username = 'mydbuser';
$password = 'myconfidentalpassword';
$options = array(
    PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
); 
$dbh = new PDO($dsn, $username, $password, $options);
   if(! $dbh ) {
      die('Could not connect: ' . mysql_error());
   }

   $sql = 'select * from foo;';
   $retval = mysql_query( $sql, $conn );

   if(! $retval ) {
      die('Could not select data: ' . mysql_error());
   }

   echo "Synced data successfully\n";
   mysql_close($conn);

?>

错误是:

PHP致命错误:未捕获PDOException:SQLSTATE [HY000] [1045]在/home/myuser/Projekte/Hibiscus_extend/Hib_Nightly_sync.php:8中拒绝用户'mydbuser'@'localhost'(使用密码:YES)的访问权限

堆栈跟踪:

/home/myuser/Projekte/Hibiscus_extend/Hib_Nightly_sync.php(8):PDO - > __ construct('mysql:host = myse ...','mydbuser','myconfidentalpassword',Array) {main}在第8行的/home/myuser/Projekte/Hibiscus_extend/Hib_Nightly_sync.php中抛出

我做错了什么,在哪里?

pdo mariadb
1个回答
1
投票

哦哦哦! 我找到了解决方案!连接问题的原因只是$ dsn中的空格

错误: $ dsn ='mysql:host = myserver:3307; dbname = mydbname'; 工作良好 $ dsn ='mysql:host = myserver:3307; dbname = mydbname';

© www.soinside.com 2019 - 2024. All rights reserved.