Настройка удалённого доступа к базе данных в виртуальной машине Битрикс.
Я использую BVA как тестовый сервер для разработок, поэтому мне удобно, чтобы к базе данных можно было достучаться извне с помощью моей любимой программы SQLyog HeidiSQL.
Настройка базы
Сначала разрешим доступ в самой СУБД. Для этого ищем файл настроек /etc/mysql/my.cnf
, а в нём после строчки bind-address = ...
дописываем еще одну:
bind-address = 0.0.0.0
Перезапускаем базу:
/etc/init.d/mysql restart
Создание пользователя
Теперь создадим пользователя, под которым будем ходить в базу. Дело в том, что у каждого пользователя прописано с какого хоста он может подключаться. Нам нужен такой, который может подлючаться с любого. Итак, коннектимся:
mysql –uroot –p
Пароль пустой, поэтому, на соответствующий запрос СУБД, мы просто нажимаем enter
. Создаём пользователя root
и сразу даём ему нужные — в нашем случае, абсолютно все, — права:
grant all privileges on *.* to root@'%' identified by '' with grant option;
Я задал для нового пользователя пустой пароль.
Настройка файервола iptables
С базой всё. Достучаться до неё нам мешают только настройки файервола. Исправим это:
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT
По идее, теперь уже можно удалённо коннектиться к базе. Проблема возникнет после перезагрузки: файервол забудет созданное нами правило. Будем лечить дальше.
Создаём файл /etc/network/if-pre-up.d/iptablesload
с таким содержанием:
#!/bin/sh
iptables-restore < /etc/iptables.rules
exit 0
И файл /etc/network/if-post-down.d/iptablessave
с таким:
#!/bin/sh
if [ -f /etc/iptables.downrules ]; then
iptables-restore < /etc/iptables.downrules
fi
iptables-save -c > /etc/iptables.rules
exit 0
Разрешаем запускать на исполнение оба файла:
chmod +x /etc/network/if-post-down.d/iptablessave
chmod +x /etc/network/if-pre-up.d/iptablesload
Ну вот вроде бы и всё, можно пользоваться.
И будь осторожен, уважаемый читаталь, мы сделали очень лояльные и небезопасные настройки. Они хорошо подходят только для локального сервера разработок, к которому нет доступа из-вне.
Как быстро перенести базу с одного сервера на другой, можно посмотреть в моём посте Работа с архивами в bash’е.
I landed on your site while searching for SQL. I have spent quite a few time on the site and your content helped a lot.
I observed you have linked to http://www.heidisql.com/ from http://blog.alexxxnf.ru/post/15/. I would like to bring to your attention a resource I recently created – https://www.guru99.com/sql.html, The content is up to date and very in-depth.
I did be obliged if you link to it.
I would be glad to share your page with our 27k Facebook/Twitter/Linkedin Followers.
Regards,
Alex.