Речь пойдет о подключении к VMBitrix внешних административных программ, таких как HeidiSQL. Также может быть полезно для установки удаленного доступа к базе данных на виртуальной машине с другого сайта или приложения. [spoiler] VMBitrix представляет собой образ линукса под VMWare с хорошо настроенным веб-сервером для оптимальной работы Битрикса, и она очень удобна как для разработки, так и для работы локальных сайтов (например корпоративного портала). Поэтому часто разработчикам требуется прямой доступ к mysql, особенно если они занимаются интеграцией проектов или разработкой своих модулей.
Для прямой работы с базой данных в арсенале Битрикса есть /bitrix/admin/sql.php. Многие для этой цели ставят phpmyadmin. Однако есть админ-клиенты, на мой взгляд, на порядок удобнее (особенно когда речь идет об innoDB с внешними ключами). Для их работы требуется подключение к mysql-серверу, которое по умолчанию (в конфигурации VMBitrix) закрыто.
(Примечание: "#" перед командой означает приглашение shell, ">" - mysql).
Заходим в консоль, а оттуда - в mysql
#mysql >use mysql;
Добавляем пользователя для удаленного доступа со всеми привилегиями. Для обеспечения большей безопасности надо указать явно хост и привилегии.
>insert into user set Host='%',User='remote',Password=PASSWORD('пароль'); >grant all on *.* to 'remote'@'%';
Меняем пустой пароль root в mysql (по желанию, мера безопасности).
>update user set password=PASSWORD('пароль рута') where user='root'; Если на виртуальной машине установлен Битрикс, который ходит в базу под рутом, то необходимо проставить в /bitrix/php_interface/dbconn.php новый пароль.
Здравствуйте, Дмитрий. Указанный выше способ работает до первой перезагрузки виртуальной машины, приходится каждый раз заново открывать порт. Чтобы избежать эту проблему, я добавил в файл /etc/init.d/apache2 после строки:
Всем привет, а что делать если команда iptables -I ufw-user-input 1 -p tcp --dport 3306 -j ACCEPT выдает ошибку iptables: No chain/target/match by that name. сервер от клодо, стоит специальная конфигурация "1С-Битрикс CentOS-6-64 bits"
Ванин Антон, похоже, старые версии виртуальной машины Битрикс работали на Ubuntu и в качестве firewall там использовался UFW. Сейчас машина работает на CentOS, где UFW нет. Как следствие, рекомендации из этой статьи устарели.
Команды для обновления правил iptables в данном случае должно выглядеть как-то так:
Параметр -s xxx.xxx.xxx.xxx/xx позволяет определить диапазон IP адресов, для которого выполняется правило. Например, для IP адреса 123.45.67.89 параметр будет принимать значение 123.45.67.89/32. А для диапазона 123.45.67.0-123.45.67.255 — 123.45.67.0/24. Если параметр -s опустить, то правило будет действовать для всех (крайне не рекомендуется!).
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».