Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用MySQL WorkBench生成的PHP连接数据库时被拒绝访问_Php_Mysql_Mysql Workbench - Fatal编程技术网

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

使用MySQL WorkBench生成的PHP连接数据库时被拒绝访问,php,mysql,mysql-workbench,Php,Mysql,Mysql Workbench,我看过几篇类似的文章,但没有一篇能真正解决我的问题。我正在尝试连接到使用MySQL workbench创建的数据库。在Workbench中的“我的用户权限”下有一个GUI,允许您启用所有授权和权限 当我运行脚本时,为phpTester@localhost; 它表明: GRANT ALL PRIVILEGES ON *.* TO 'phpTester'@'localhost' WITH GRANT OPTION 所以我知道我拥有所有权限,WorkBench还有一个插件,您可以将SQL复制到剪贴板

我看过几篇类似的文章,但没有一篇能真正解决我的问题。我正在尝试连接到使用MySQL workbench创建的数据库。在Workbench中的“我的用户权限”下有一个GUI,允许您启用所有授权和权限

当我运行脚本时,为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());  
} 
它失败并出现以下错误:

警告:mysql_connect:使用第10行的密码“是”拒绝用户“phpTester”@“localhost”的访问 无法连接:使用密码“是”拒绝用户“phpTester”@“localhost”的访问 当我使用这行PHP时:

$link = mysql_connect(DB_HOST, DB_USER);
我得到这个错误:

无法使用forms1:拒绝用户@'localhost'访问数据库'forms1'。
但是我确实为这个用户设置了密码,并且我正在为我的本地主机使用xampp。

结果证明我连接到了错误的主机,这是一个非常简单的修复方法,而不是连接到“本地主机”,你必须连接到标准的127.0.0.1环回ip地址和端口3306。然后您输入您的信息,如phpmyadmin中的用户和密码,您应该已连接。确保在phpmyadmin中,该用户具有所需的权限。现在,您的工作台已连接到phpmyadmin

确保您有一个名为phpTester、密码为12345的mysql用户。尝试从phpmyadmin中的users部分创建新用户。并尝试使用这些凭据。这不是php方面的问题。这是与mysql身份验证和权限相关的问题。还请注意mysql_*函数已贬值,所以请尝试使用mysqli。我遇到了mysql Workbench在更改权限后无法刷新权限的问题。只需从查询窗口运行“刷新权限”。现在我真的开始感到困惑了。当我转到phpmyadmin并尝试使用phpTester(12345)登录时。它说不能登录mysql服务器。但是,当我转到mysql工作台并使用phpTester登录时,12345就可以了。我正在为本地主机服务器使用xampp。我在workBench中创建了phpTester,那么该用户名不应该存储在本地主机上,以便phpmyadmin识别吗?因此,我可以只使用phpTester无密码登录phpmyadmin。这很奇怪,因为当我在workbench中创建它时,它有一个密码,这个phpTester实例没有创建数据库或任何东西。然后,当我注销phpmyadmin并使用root登录时。我甚至没有看到一个phpTester用户。可以查询:SELECT*FROM mysql.user\G;您可以获得所需的所有信息、权限、用户名、密码、空通行证主机等。如果要在此处发布一些信息,请小心: