相关疑难解决方法(0)

警告:mysql_connect():[2002]没有这样的文件或目录(尝试通过unix:///tmp/mysql.sock连接)

我正在尝试使用Apple上的终端(使用PHP)连接到我的MySQL数据库.

昨天它工作正常,现在我突然得到标题中的错误.

当我使用浏览器运行它时(我安装了XAMPP),脚本可以工作,但终端拒绝连接到数据库.

这是我包含连接的文件(当我不包含此脚本时脚本工作,但它不连接到DB):

<?php
    mysql_connect("localhost", "root", "") or die(mysql_error());
    mysql_select_db("FNB1C_data") or die(mysql_error());
?>
Run Code Online (Sandbox Code Playgroud)

这应该工作,因为它适用于我的浏览器.

我在终端使用的命令是php scriptname.php.

php mysql database

240
推荐指数
8
解决办法
24万
查看次数

无法启动phpMyAdmin.继续得到#2002套接字错误

我一直试图在过去12小时内设置mysql和phpMyAdmin,但没有任何成功.是的,经过几个小时的Google-ing后,我知道这是一个常见的问题,我在stackoverflow上读过类似的查询,但仍然无法提供解决方案.....

我已经尝试了一切 - 从改变

$cfg['Servers'][$i]['port']
Run Code Online (Sandbox Code Playgroud)

config.inc.php文件中3306,127.0.0.1....

config.inc.php文件中键入套接字路径- 两者 tmp/mysql.php/var/mysql/mysql.sock.

我已经尝试更改my.cnf文件和php.ini中的套接字路径....但我一直得到同样的错误:

#2002 - No such file or directory
The server is not responding (or the local server's socket is not correctly configured).
Run Code Online (Sandbox Code Playgroud)

我正在使用MySQL(5.1.65),PhpMyAdmin(3.5.2.2)和PHP(5.3.8).

mysql sockets macos phpmyadmin

15
推荐指数
3
解决办法
7万
查看次数

PDO不使用Port

我正在尝试使用PDO连接到外部数据库.

$dbh = new PDO('mysql:host=hotsname;port=3309;dbname=dbname', 'root', 'root');
Run Code Online (Sandbox Code Playgroud)

但是,这不适用于我拥有的特定服务器.

我想也许只允许某个主机,但我检查了mysql规则,并在我个人的服务器上尝试了这个代码并且连接正常.

所以我知道代码工作,并且他们不在我身边,并且防火墙正在接受对端口3309的请求并将其传递到端口3306上的正确服务器.

所以问题完全在一台服务器上.作为测试,我以为我打开端口3306来测试代码而不指定端口.

$dbh = new PDO('mysql:host=hotsname;dbname=dbname', 'root', 'root');
Run Code Online (Sandbox Code Playgroud)

这很直接.

所以我的问题是,为什么在添加端口时这会导致它无法连接到数据库.只有这个特定的服务器才有这个问题.

非常感谢您的时间.

更新

给出的错误只是"无法连接到xxx.xxx.xxx.xxx上的mysql服务器".

我现在稍微进一步了.代码现在正在工作,前提是我有一个防火墙规则允许使用3306在3306上传入服务器.所以,即使我已经指定了一个端口,它似乎忽略了这一点,并迫使它超出3306.

php mysql pdo

9
推荐指数
2
解决办法
2万
查看次数

标签 统计

mysql ×3

php ×2

database ×1

macos ×1

pdo ×1

phpmyadmin ×1

sockets ×1