使用 MySQL WorkBench 生成的 PHP 访问被拒绝连接到数据库

Access denied connecting to database using PHP generated by MySQL WorkBench

我看过几个类似的帖子,但 none 确实帮助解决了我的问题。我正在尝试连接到我使用 MySQL workbench 创建的数据库。根据我在 Workbench 中的用户权限,有一个 GUI 允许您启用所有授权和权限。

当我 运行 脚本 show grants for phpTester@localhost; 它显示:

GRANT ALL PRIVILEGES ON *.* TO 'phpTester'@'localhost' WITH GRANT OPTION

所以我知道我拥有所有权限,并且 WorkBench 还有一个插件,您可以在其中将 SQL 复制到剪贴板,它会自动提取您的数据库设置,这样您就可以复制并粘贴到您的 PHP 脚本中。所以我的脚本看起来像这样:

define('DB_NAME', 'forms1');
define('DB_USER', 'phpTester');
define('DB_PASSWORD', '12345');
define('DB_HOST', 'localhost');
define('DB_PORT', 2080);


$link = mysql_connect(DB_HOST, DB_USER,DB_PASSWORD, DB_PORT);

if (!$link){
  die('Could not connect: ' . mysql_error());
}

$db_selected = mysql_select_db(DB_NAME, $link);

if(!$db_selected){
  die('Not Working ' . DB_NAME . ':' . mysql_error());  
} 

失败并出现错误:

Warning: mysql_connect(): Access denied for user 'phpTester'@'localhost' (using password: YES) on line 10
Could not connect: Access denied for user 'phpTester'@'localhost' (using password: YES)

当我使用 PHP 的这一行时:

$link = mysql_connect(DB_HOST, DB_USER);

我收到这个错误:

Not Working forms1:Access denied for user ''@'localhost' to database 'forms1'.

但是我确实为这个用户设置了密码,我正在使用 xampp 作为我的本地主机。

原来我连接到错误的主机,它是一个非常简单的修复,而不是连接到 'localhost' 你必须连接到标准的 127.0.0.1 环回 IP 地址和端口 3306。然后您输入您的信息,例如您的 phpmyadmin 中的用户和密码,您应该已连接。确保在您的 phpmyadmin 中该用户拥有您需要的权限。好了,您的 workbench 已连接到您的 phpmyadmin。