PHP mysql_connect против использования терминала Ubuntu mysql - PullRequest
0 голосов
/ 18 июля 2011

Я использую 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)

Есть идеи, как это можно решить?

Ответы [ 2 ]

0 голосов
/ 18 июля 2011

PHP-код работает на веб-сервере, ваша локальная команда выполняется на вашем компьютере.

Учетные записи MySQL - это не просто имена пользователей - они представляют собой комбинации имя пользователя + имя хоста.Таким образом, оба должны сопоставить MySQL, чтобы найти учетную запись.

Поскольку ваше имя хоста отличается от того, которое использует веб-сервер, MySQL не считает его действительным пользователем.(Можно установить имя хоста в%, что означает «Любой».)

0 голосов
/ 18 июля 2011

Попробуйте sudo mysql -h .... и т. Д.

Я использую linuxMint и должен был использовать su или sudo.Я думаю, что по умолчанию вы должны быть root, чтобы войти в терминал.Но с Ubuntu root недоступен, единственная функция, которая мне не нравится в Ubuntu.

...