Подключение к БД через соккет

Главные вкладки

Аватар пользователя Nelex Nelex 4 июля 2009 в 11:59

Возникла проблема с переносом drupal 6 с одного хостинга, на хостинг orc.ru(newhost.ru). На orc.ru подключение к БД через localhost как я понял не возможно, нужно прописывать путь к соккету. Обгуглил в инете все до косточек, но так и не понял как можно поменять запись вида:
$db_url = 'mysql://username:password@localhost/databasename';

Таким образом чтобы:
1) имя пользователя root
2) пароля нет.
3) указать подключение через соккет.
Путь к соккету выглядит образом /home/username/run/mysql.sock

Буду очень благодарен, так как уже долго мучаюсь.

Комментарии

Аватар пользователя Nelex Nelex 4 июля 2009 в 12:25

Пробовал и через mysqli, не помогло. А саппорт хостера пока молчит. В FAQ-е и на форумах написано то же что и я написал, что нужно прописывать путь к соккету. Путь к соккету выглядит таким образом: /home/username/run/mysql.sock. Как бы его записать в файл settings.php?

Аватар пользователя Nelex Nelex 4 июля 2009 в 12:42

Увы, не то. Фишка на этом хостинге в том что подключение к БД возможно только с локалхоста но через соккет. Подключение к БД из сети не возможно. Сама БД находится на том же хосте.

Видел в сети что возможно прописать путь к соккету БД напрямую в этой же строке, но как конкретно прописать не нашел.

Аватар пользователя Nelex Nelex 4 июля 2009 в 17:06

В общем-то, если кому нужно будет. Путь к соккету прописывается так:
$db_url = 'mysql://username:password@%3A%2Fhome%2Fusername%2Frun%2Fmysql.sock/database';
после %3A начинается путь к соккету. %2F - слеши.
Даже узнав это, увы, проблема видать в чем-то другом. С хостинга на локальную машину перенес и поставил в два счета, на newhost.ru долбался с вчерашнего вечера, и так успехов никаких. Сам хостер на письма то ли не отвечает, то ли выходные у них(хотя написано что круглосуточная поддержка).

Аватар пользователя elia elia 5 июля 2009 в 0:33

используй EMS MySQL Manager 4+ версии - у него есть поддержка PHP туннелирования - закачиваешь в папку сайта соответствующий PHP файл и работаешь через него с БД. Сервер "считает", что это сайт обращается к БД.

Аватар пользователя Nelex Nelex 6 июля 2009 в 19:27

elia
Спасибо, не потребовалось. Собственно с саппорта newhost.ru пришло письмо в котором было уточнено как именно производиться подключение к БД. К БД подключение происходит через соккет, путь к которому указывается в файле httpd.conf в виде:
php_admin_value mysql.default_socket /home/username/run/mysql.sock

В settings.php в drupal подключение происходит через стандартный localhost.

Проблема решена. Smile