• UAH
  • USD
  • RUB
  • EUR
  • +38(044) 392-74-33  Киев
  • +38(057) 728-39-00  Харьков
  • +38(056) 794-38-31  Днепр
  • +38(032) 229-58-93  Львов
  • +38(048) 738-57-70  Одесса
  • +38(093) 170-15-42  Life
  • +38(067) 400-88-44  Киевстар
  • +38(095) 630-90-82  MTC
  • +1(888)393-24-51  USA, Toll free
  • +44(131)507-01-14  Great Britain
  • +7(499) 348-28-61  Москва

Хостинг. mysql_connect, php, ошибки

Форумы Хостинг mysql_connect, php, ошибки
dano
09.01.2013
хостинг: есть
домен: нет
mysql_connect, php, ошибки
Добрый день, помогите разобраться.

Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in ...

Гуглил ошибку, пишут про то, что не верно указан хост при подключении, у меня верно, указываю хост из панели. (ЮЗЕР.mysql.ukraine.com.ua)

Запускаю скрипт отдельно, рядом лежит движок, опенкарт - работает норм.
Вот кусок кода http://pics.inweb.ua/tutb_ko/17...
eugen
09.01.2013
хостинг: есть
домен: есть
По всей видимости, попытка подключения все-таки идет на localhost, а не на ЮЗЕР.mysql.ukraine.com.ua. Возможно, в каком-то другом конфиге нужно прописывать параметры подключения?
Попробуйте добавить в скрипт перед mysql_connect() в 29 строке дамп хоста, к которому Вы подключаетесь:
var_dump($db_host);
dano
09.01.2013
хостинг: есть
домен: нет
Да, вы правы, переменная содержала пустую строку, поправил, спасибо.
Теперь хочу выполнить дамп через щелл, файл создается, но остается пустым.
http://pics.inweb.ua/tutb_ko/17...

$cmd_db = "mysqldump ".$db_name." --user=".$db_user." --password=".$db_pass." > ".$_SERVER['DOCUMENT_ROOT']."/dump.sql";
shell_exec($cmd_db);

Подскажите, где я ошибся?
eugen
09.01.2013
хостинг: есть
домен: есть
На первый взгляд вижу одну ошибку - не указан хост для подключения. Замените "mysqldump " на "mysqldump -h $db_host "
dano
09.01.2013
хостинг: есть
домен: нет
Добавил, ситуация не изменилась, файл есть, но пустой. Дата создания меняется.

$cmd_db = 'mysqldump '.$db_name.' --host='.$db_host.' --user='.$db_user.' --password='.$db_pass.' > '.$_SERVER['DOCUMENT_ROOT'].'/dump.sql';
eugen
09.01.2013
хостинг: есть
домен: есть
Добавьте в конец команды сохранение ошибки:
...'/dump.sql 2>&1';

В дамп будет записана ошибка, из-за которой не удалось сделать дамп.
dano
09.01.2013
хостинг: есть
домен: нет
Спасибо за совет.
Содержание файла:
sh: mysqldump: команда не найдена

Как быть? На всех хостинг-аккаунтах нет этой команды?
eugen
09.01.2013
хостинг: есть
домен: есть
Она есть. Укажите полный путь: /usr/bin/mysqldump
dano
10.01.2013
хостинг: есть
домен: нет
В файле:
sh: /usr/bin/mysqldump: Нет такого файла или каталога

я пробовал это после "sh: mysqldump: команда не найдена"
87toqwyegf
10.01.2013
хостинг: нет
домен: нет
путь к mysqldump - /usr/local/mysql/bin/mysqldump
Подробнее - https://www.ukraine.com.ua/faq/kak-s-...
dano
10.01.2013
хостинг: есть
домен: нет
Спасибо, все заработало.
Если кому понадобится:
$cmd_db = '/usr/local/mysql/bin/mysqldump '.$db_name.' --host='.$db_host.' --user='.$db_user.' --password='.$db_pass.' > '.$_SERVER['DOCUMENT_ROOT'].'/dump.sql';
shell_exec($cmd_db);
Участвовать в общении на этом форуме могут только
зарегистрированные пользователи.

Если вы уже зарегистрированы Вам необходимо войти на форум.

Тема закрыта по истечению срока давности.
Горячая линия
(044)
392 74 33
другие города