"Оцифровка" бизнес-процессов.

   
     +7 (910) 778-05-31, romanb@nxt.ru
Коснитесь для звонка

Работа напрямую с базой данных 1С-Битрикс.

Если на вашем хостинге установлен phpMyAdmin, то никаких проблем возникнуть не должно. Этот пост посвящен другому случаю — когда его нет. Я, например, не обнаружил на виртуальной машине 1С-Битрикс никаких утилит для работы с MySQL, кроме консольной.

Попытка установить phpMyAdmin на WMBitrix не привела к положительным результатам. Скорее всего это произошло из-за недостаточных знаний ОС Linux. Но нужно было получить прямой доступ к базе во что бы то ни стало и было принято другое решение — установить клиент MySQL на локальной машине и открыть доступ к mysql вирутальной машины по сети. Сказано — сделано.

Первым делом было добавлено правило в файрвол Linux. Сделано это следующей командой: "iptables -I INPUT -p tcp —dport 3306 -j ACCEPT". Имейте в виду, что после перезагрузки виртуальной машины, правило будет удалено и добавлять его нужно будет заново. Наверняка есть способы сделать это правило постоянным, но я заморачиваться этим не стал, так как доступ к базе мне нужен был лишь раз. Кроме того, всегда можно вызвать команду добавления правила из памяти командного интерпритатора(bash), нажав в консоли  клавишу "Вверх" нужное количество раз.

После добавления правила нужно в конфиге mysql иправить параметр, отвечающий за возможность подключени извне. Конфиг находится в "etc/my.cnf". Нужно просто закоментировать(символ "#" в начале строки) или удалить строку, содержащую "bind-address = 127.0.0.1".

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

1. Входим в консоль mysql, выбираем базу данных "mysql", в которой хранятся данные о пользователях.

  • #mysql 
  • >use mysql;

2. Создаем пользователя с полным набором привелегий:

  • >insert into user set Host='%',User='имя_пользователя',Password=PASSWORD('ваш_пароль'); 
  • >grant all on *.* to 'remote'@'%'; 

После выполения этих нехитрых действий, мы можем любым MySQL клиентом работать с базой данных 1С-Битрикс напрямую. Я использовал phpMyAdmin, который был установлен у меня в составе пакета Denwer. Небольшие исправления в конфиге phpMyAdmin позволили мне подключаться к удаленным базам данных(по умолчанию он работает только с локальной базой).

Рекомендую для работы в консоли ssh клиент putty. Конечно можно все сделать и в самом окне виртуальной машины, но при использовании putty можно копировать команды прямо в консоль, не прибегая к набору.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *