PHP mysql\u connect与Ubuntu mysql终端使用

PHP mysql\u connect与Ubuntu mysql终端使用,php,mysql,ubuntu,mysql-connect,Php,Mysql,Ubuntu,Mysql Connect,我使用PHP是为了通过以下方式连接到MySQL: $link = mysql_connect('...host...', '...username...', '...password...'); if (!$link) { die('Could not connect: ' . mysql_error()); } echo 'Connected successfully'; 而且它连接得很好。 但是在我的终端上尝试这个 mysql -h ...host... -u ....u

我使用PHP是为了通过以下方式连接到MySQL:

$link = mysql_connect('...host...', '...username...', '...password...'); 
if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
} 
echo 'Connected successfully'; 
而且它连接得很好。 但是在我的终端上尝试这个

mysql -h ...host... -u ....username... -p ...password...
我给出了我的密码,结果如下:

ERROR 2003 (HY000): Can't connect to MySQL server on '...host...' (111)

有什么办法可以解决这个问题吗?

试试sudomysql-h……等等


我在运行linuxMint,必须使用su或sudo。我认为默认情况下,您必须是root才能进入终端。但是Ubuntu根目录无法访问,这是我不喜欢Ubuntu的唯一特性。

php代码在web服务器上运行,本地命令在机器上运行

MySQL帐户不仅仅是用户名——它们是用户名+主机名组合。因此,两者都必须匹配MySQL才能找到帐户


<>因为您的主机名不同于Web服务器使用MySQL的主机名,所以不认为它是一个有效的用户。(可以将主机名设置为%,表示“任意”。

是否安装了apache?sudo status mysql输出什么?当你说“我的终端”时,你是指你自己系统上的终端还是服务器上的终端(通过SSH)?@PaulPRO我使用主机提供商@Francois我自己系统上的终端…很可能主机不公开。主机名可能指向内部IP地址,或者MySQL服务器可能只接受来自本地网络的连接。当我应该为ip地址编写
localhost
时,我正在指定服务器的ip地址。请注意,我没有尝试远程连接。