sendxt
13.05.2015 - 08:47
Всем привет, в чём могут быть причины того что я не могу подключить к удалёному серваку точней бд mysql.
делаю это так :
$db = new PDO('mysql:host=81.7.64.138;port=8081;dbname=xxx;charset=UTF-8', "xxx", "xxx");
'SQLSTATE[HY000] [2013] Lost connection to MySQL server at 'reading initial communication packet', system error: 0'
пробовал разные порты в том числе 3306 , через url всё ок подключяется , с консоли тоже. ( у меня убунту для справки ) . PDO драйвер включен.
sendxt
13.05.2015 - 08:56
также пробовал указывать порт через двоеточие, без порта...
Хотя обманул с консоли тоже не подключяется
JohnBraxton
13.05.2015 - 09:55
На стороне сервера разрешены подключения из вне?
sendxt
13.05.2015 - 09:56
JohnBraxton
Как проверить? Нужен доступ к самому серваку?
Ну покрайней мере через url соединяется или это ни о чем ещё не говорит?
JohnBraxton
13.05.2015 - 09:58
Если есть доступ к phpmyadmin можно глянуть там.
sendxt
13.05.2015 - 10:09
JohnBraxtonкак именно?
Server: localhost via TCP/IP
Server type: MySQL
Server version: 5.6.12-log - MySQL Community Server (GPL)
Protocol version: 10
User: root@localhost
Server charset: UTF-8 Unicode (utf8)
Apache/2.4.4 (Win32) PHP/5.4.16
Database client version: libmysql - mysqlnd 5.0.10 - 20111026 - $Id: e707c415db32080b3752b232487a435ee0372157 $
PHP extension: mysqli Documentation
AllesKlar
13.05.2015 - 10:09
sendxt
Цитата |
$db = new PDO('mysql:host=81.7.64.138;port=8081;dbname=xxx;charset=UTF-8', "xxx", "xxx"); |
Ты уверен, что порт 8081? Вообще-то это порт для вебсервера. Не думаю, что админ повесил на него сервер базы.
_____________
[продано копирайтерам]
не слышал чтобы MySQL был на 8081, обычно 3306, 3307, 3308 но это если много серверов бд на обычном компьютере. И как было замечено сервер должен разрешать удаленные подключения и фаервол сервера пускать через порт.
_____________
Трус не играет в хокей
sendxt
13.05.2015 - 10:15
AllesKlar
чтобы порт узнать тут нужен админ полагаю, как узнать разрешены ли внешние подключения..
Пробовал 3306,3307,3308
JohnBraxton
13.05.2015 - 10:25
sendxt
через URL строку вы подключались так как 8081 это http порт, который в свою очередь пробрасывает вас на 3306 (ну или любой другой порт MySQL). Собственно 81.7.64.138 может и не быть сервером MySQL.
У адреса 81.7.64.138 порт 3306 закрыт.
AllesKlar
13.05.2015 - 10:28
sendxt
Цитата |
чтобы порт узнать тут нужен админ полагаю, как узнать разрешены ли внешние подключения.. |
Это самое разумное решение.
_____________
[продано копирайтерам]
sendxt
13.05.2015 - 10:31
Всё понял спасибо)
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.