Работа напрямую с базой данных 1С-Битрикс.
- 2013-10-21
- Автор: admin
- Рубрика: 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 можно копировать команды прямо в консоль, не прибегая к набору.