Подключаемся напрямую к БД с помощью внешнего клиента
Эта статья будет полезна как начинающим администраторам, так и опытным инженерам баз данных. В ней мы расскажем, как подключиться к БД с помощью внешнего графического клиента и получить любую информацию, которую она содержит.
Зачем администратору внешний клиент для подключения к БД
В BILLmanager используется нативная версия базы данных для операционной системы, так как платформа устанавливается на «чистую» ОС: без сторонних репозиториев и дополнительных сервисов. Например, для CentOS 7 это 5.5.68-MariaDB, а для Ubuntu 20 — 8.0.28-MariaDB. Автоматическое обновление до актуальной версии не поддерживается, поэтому рекомендуем воспользоваться документацией по переходу на MariaDB 10.3.
Нативные версии баз данных ОС, поддерживаемых BILLmanager, не имеют встроенного интерфейса управления. Чтобы получить запрашиваемую информацию или сформировать дополнительные отчеты, можно использовать прямое подключение к БД.
Оно позволяет создать любой запрос и извлечь нужные данные, а также проводить все возможные действия с базой данных — начиная от администрирования и заканчивая оптимизацией.
Однако вносить изменения напрямую в базу небезопасно. Мы настоятельно не рекомендуем такие операции, так как они могут привести к полной неработоспособности BILLmanager. Разобраться в структуре базы данных нашей платформы и не допустить критических ошибок поможет документация.
Чтобы сформировать корректное и полное представление о данных, увидеть все индексы, форматы, взаимосвязи таблиц, а также посмотреть план выполнения запросов, не обойтись без внешнего клиента с графическим интерфейсом. Он позволяет визуализировать информацию и выводить на экран любые наборы специфических данных.
Среди популярных клиентов БД можно выделить:
- dbForge Studio,
- DBeaver,
- Navicat,
- HeidiSQL.
Мы расскажем, как установить и подключить к BILLmanager бесплатный и достаточно мощный SQL-клиент
Установка HeidiSQL
Установка клиента под Windows интуитивно понятная, поэтому мы уделим внимание более сложному процессу установки и настройки под ОС Linux.
Чтобы установить HeidiSQL на Ubuntu 20, необходимо сначала загрузить Wine:
затем HeidiSQL
Для более ранних версий Ubuntu потребуется обновиться и установить Snapd:
Следующим шагом необходимо в BILLmanager создать пользователя с возможностью внешнего подключения. Сделать это можно, подключившись к базе данных по ssh с помощью команды mysql billmgr.
Теперь создаем нового пользователя (например, admin123) с заданным паролем и предоставляем ему необходимые права:
GRANT ALL privileges ON *.* TO 'admin123'@'%';
Проверяем подключение к нашей БД через консоль:
Часто порт 3306 по умолчанию закрыт. Чтобы его открыть, выполняем следующие команды (на примере ОС CentOS).
Открываем порт:
Перезагружаем firewalld:
Выполняем проверку:
После этого подключение должно пройти успешно. Можно использовать клиент HeidiSQL для получения информации из БД BILLmanager.
С помощью интерфейса HeidiSQL можно сделать dump базы данных и при необходимости восстанавливать ее.
Ознакомиться с описанием других полезных инструментов HeidiSQL можно на
Логирование запросов
Также рекомендуем включить подробное логирование запросов к базе данных, а именно general_log.
Проверить его статус можно командой:
*************************** 1. row ***************************
Variable_name: general_log
Value: OFF
1 row in set (0.01 sec)
Включаем логирование:
Query OK, 0 rows affected (0.06 sec)
Создаем файл лога:
Меняем пользователя:
Задаем, какой файл лога использовать:
Query OK, 0 rows affected (0.00 sec)
Выполняем проверку:
/var/log/mysql_all.log: ASCII text, with very long lines
На случай перезагрузок — добавляем в блок [mysqld] или [mysqld_safe] файла /etc/my.cnf эти же директивы:
general_log_file = "/var/log/mysql_all.log"
Заключение
После установки внешнего клиента и настройки его подключения к базе данных вы получаете удобный инструмент для работы с данными: создавать запросы, выполнять поиск, создавать резервные копии, работать с таблицами и другие полезные для администрирования действия. И все это — в графическом интерфейсе клиента с простой навигацией и наглядной визуализацией.
Этот способ удобнее и безопаснее, чем подключаться к БД напрямую с консоли, и не требует глубоких знаний SQL.
Также мы рекомендуем логировать все запросы, выполняемые тем или иным пользователем.
При этом HeidiSQL взят как пример — вы можете использовать любой клиент для подключения к базе данных, который будет удобен именно вам.
Ответы на многие вопросы, связанные с работой BILLmanager 6, есть в Базе знаний на нашем сайте.