Мы используем cookie-файлы
Для оптимизации работы нашего сайта мы используем cookie-файлы. Продолжая использовать сайт, Вы соглашаетесь с использованием cookie-файлов.
Панель управления
  • Русский
  • Українська
  • 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  Vodafone
  • +1(888)393-24-51  USA, Toll free
  • +44(131)507-01-14  Great Britain
  • +7(499) 348-28-61  Москва

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


dano
8 лет
0
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
8 лет
0

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

dano
8 лет
0

Да, вы правы, переменная содержала пустую строку, поправил, спасибо.
Теперь хочу выполнить дамп через щелл, файл создается, но остается пустым.
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
8 лет
0

На первый взгляд вижу одну ошибку - не указан хост для подключения. Замените "mysqldump " на "mysqldump -h $db_host "

dano
8 лет
0

Добавил, ситуация не изменилась, файл есть, но пустой. Дата создания меняется.
$cmd_db = 'mysqldump '.$db_name.' --host='.$db_host.' --user='.$db_user.' --password='.$db_pass.' > '.$_SERVER['DOCUMENT_ROOT'].'/dump.sql';

eugen
8 лет
0

Добавьте в конец команды сохранение ошибки:
...'/dump.sql 2>&1';
В дамп будет записана ошибка, из-за которой не удалось сделать дамп.

dano
8 лет
0

Спасибо за совет.
Содержание файла:
sh: mysqldump: команда не найдена
Как быть? На всех хостинг-аккаунтах нет этой команды?

eugen
8 лет
0

Она есть. Укажите полный путь: /usr/bin/mysqldump

dano
8 лет
0

В файле:
sh: /usr/bin/mysqldump: Нет такого файла или каталога
я пробовал это после "sh: mysqldump: команда не найдена"

87toqwyegf
8 лет
0

путь к mysqldump - /usr/local/mysql/bin/mysqldump
Подробнее - https://www.ukraine.com.ua/faq/kak-s-...

dano
8 лет
0

Спасибо, все заработало.
Если кому понадобится:
$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);

Участвовать в общении на этом форуме могут только зарегистрированные пользователи.