我知道有很多这样的问题,但我没有找到任何解决方案。
我尝试的事情: -
检查防火墙
重新启动了我的PC和Apache服务器
重启MYSQL
检查了我的代码
尝试了我所知道并在互联网上找到的一切
这是我的代码: -
<?php
$dbhost = 'localhost:3360';
$dbuser = 'root';
$dbpass = '';
$db = 'test_db13';
$conn = mysqli_connect($dbhost,$dbuser,'',$db);
if(! $conn){
die('Could not connect connect: ') ;
}
echo 'Successfully Connected';
$sql = 'Connected Successfully';
$retvalue = mysqli_query($sql);
if(! $retvalue){
die('Cannot connect to SQL: ');
}
echo 'DataBase test_db13 has successfully created';
mysqli_close($conn);
?>
我确实设置了密码,但它仍然显示错误。
这是防火墙图片: -
最后XAMMP在这里运行的是证据
答案 0 :(得分:9)
如果您查看XAMPP控制面板,它会清楚地说明MySQL服务器的端口是3306
- 您提供了3360
。 3306
是默认值,因此不需要指定。即便如此,mysqli_connect()
的第五个参数是端口,它应该指定在哪里。
您可以完全删除端口规范,因为您正在使用默认端口,使其成为
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$db = 'test_db13';
参考
答案 1 :(得分:2)
您输入了错误的端口号3360而不是3306。 如果您使用的是daefault(在MySQL的情况下为3306),则无需编写数据库端口号
答案 2 :(得分:1)
在您的PHP代码中,您设置了错误的端口,这就是代码应该是
<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$db = 'test_db13';
代码中的端口设置为3360
时应该是3306
,但由于这是默认端口,因此您无需指定。
答案 3 :(得分:1)
如果您使用的是非默认MySQL端口号,请执行以下操作:
33747
,则粘贴以下内容
$cfg['Servers'][$i]['port'] = 33747;
在下面
/* Authentication type and info */
部分。答案 4 :(得分:0)
在大多数情况下,这是数据记录问题。请按照下列步骤操作。
i)转到mysql的数据文件夹。 对于xampp,请转到C:\ xampp \ mysql \ data。
ii)查找日志文件名,例如ib_logfile0和ib_logfile1。
iii)创建备份并删除这些文件。
iv)重新启动apache和mysql。
答案 5 :(得分:0)
对于那些来这里寻找答案并没有键入3306错误的人...如果像我一样,您浪费了很多时间没有运气来寻找该答案,那么这可能会有所帮助。
如果您看到此信息: (HY000 / 2002):由于目标计算机主动拒绝连接,因此无法建立连接
那么我的理解是,它无法连接以下其中一项。现在。
1)您的马桶,马桶等图标是否呈绿色?无论哪种方式,请右键单击图标->单击工具->测试用于Apache(通常为80)和用于Mariadb(3307?)的端口。两者都应该说“正确”。
2)错误来自.php文件。因此,请检查您的dbconnect.php。
<?php
$servername = "localhost";
$username = "your_username";
$password = "your_pw";
$dbname = "your_dbname";
$port = "3307";
?>
您的设置正确吗?您的用户存在吗?他们有权利吗?端口是否与1)中的测试端口匹配?不必是3307,用户可以是root。您还可以单击绿色图标->单击MariaDB并查看已使用的端口,如下图所示。都好?正?好吧!
3)登录phpmyadmin时出现错误。因此,请检查您的my.ini。
通过单击绿色图标->单击MariaDB->
来打开my.ini。; The following options will be passed to all MariaDB clients
[client]
;password = your_password
port = 3307
socket = /tmp/mariadb.sock
; Here follows entries for some specific programs
; The MariaDB server
[wampmariadb64]
;skip-grant-tables
port = 3307
socket = /tmp/mariadb.sock
确保端口与正在测试的MariaDB端口匹配。然后终于。
[mysqld]
port = 3307
在my.ini的底部,确保此端口也匹配。
4)1-3完成了吗?重新启动WAMP并交叉手指!
答案 6 :(得分:0)
我终于找到了解决方案。我浪费了几个小时,只是想弄清楚这个问题是什么。我尝试删除上面建议的所有这些文件,但对我而言不起作用,我尝试为myslqd.exe向防火墙添加新的入站规则,但此方法不起作用。导致此错误的原因是MySQL端口配置错误,并且修复非常简单。如果您使用的是 Wamp或Xampp ,请转到 Main Folder / Bin / mysql / mysql / 并找到名为 my.ini
打开 my.ini 文件,按 CTRL + F ,然后在其中搜索 PORT ,然后将端口的值更改为- 3306 和保存文件;
然后转到任务栏(系统任务栏)底部的Wamp图标,并左键单击,选择mysql选项,然后单击“测试使用的端口3306” ,看看是否它给你任何错误。您还可以点击使用除以外的其他端口,其中显示的内容和端口3306。
祝你好运。如果可行,请发表评论。
答案 7 :(得分:0)
只需将mysql:3308的端口用户更改为3306
只需右键单击wamp->选择工具
在mysql:3308 clcik使用的端口下,“使用3308以外的端口
在文本端口文本框中显示:键入3306并保存。等到wampserver重新启动并变绿。
现在运行您的PHP代码,它将起作用。就是这样-祝你好运