We detected you are likely not from a Russian-speaking region. Would you like to switch to the international version of the site?

  Назад к списку статей

Настройка баз данных MySQL и PostgreSQL в Termux

Termux предоставляет полноценную Linux‑среду на Android‑устройствах, позволяя запускать серверные сервисы прямо на смартфоне или планшете. В этой статье мы рассмотрим, как установить и настроить две самые популярные СУБД — MySQL (в виде MariaDB) и PostgreSQL. После выполнения всех шагов вы сможете использовать их для разработки, тестирования API или в качестве небольшого локального сервера.

Подготовка окружения

Прежде чем приступить к установке, обновим пакеты Termux и установим базовые утилиты.

apt update && apt upgrade -y
apt install -y wget curl vim git gnupg

Для удобства работы рекомендуется настроить ~/.profile и добавить путь к установленным сервисам:

echo 'export PATH=$PATH:$HOME/.local/bin' >> ~/.profile && source ~/.profile

Установка MariaDB (MySQL)

В официальных репозиториях Termux MySQL заменён на совместимый MariaDB. Выполняем установку:

apt install -y mariadb

После установки необходимо инициализировать базу данных:

mysqld --initialize-insecure --user=$(whoami)

Запускаем сервер в фоновом режиме:

mysqld_safe &

Проверяем, что процесс работает:

ps aux | grep mysqld

Подключаемся к серверу без пароля (режим --initialize-insecure создаёт пользователя root без пароля):

mysql -u root

Сразу после первого входа рекомендуется задать пароль для root и создать обычного пользователя:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'StrongRootPass!23';
CREATE USER 'dev'@'%' IDENTIFIED BY 'DevPass#2026';
GRANT ALL PRIVILEGES ON . TO 'dev'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Для автоматического запуска сервера при старте Termux создаём скрипт ~/.termux/boot/start-mariadb.sh (если у вас установлен плагин termux-services):

mkdir -p ~/.termux/boot && cat > ~/.termux/boot/start-mariadb.sh <<'EOF'
#!/data/data/com.termux/files/usr/bin/sh
mysqld_safe &
EOF
chmod +x ~/.termux/boot/start-mariadb.sh

Установка PostgreSQL

PostgreSQL доступен в репозитории unstable. Включим репозиторий и установим пакет.

apt install -y postgresql

Инициализируем кластер базы данных (обычно делается автоматически, но на всякий случай):

initdb -D $HOME/.local/var/postgres

Запускаем сервер в фоне:

pg_ctl -D $HOME/.local/var/postgres -l $HOME/.local/var/postgres/logfile start

Создаём роль и базу данных для разработки:

createuser -s dev && createdb -O dev devdb

Устанавливаем пароль для новой роли:

psql -U dev -c "ALTER USER dev WITH PASSWORD 'DevPass#2026';"

Для удобства добавим в ~/.profile переменные окружения, указывающие путь к каталогу данных:

echo 'export PGDATA=$HOME/.local/var/postgres' >> ~/.profile && source ~/.profile

Автозапуск PostgreSQL через termux-services:

mkdir -p ~/.termux/boot && cat > ~/.termux/boot/start-pg.sh <<'EOF'
#!/data/data/com.termux/files/usr/bin/sh
pg_ctl -D $HOME/.local/var/postgres -l $HOME/.local/var/postgres/logfile start
EOF
chmod +x ~/.termux/boot/start-pg.sh

Тестирование соединения

Проверим, что обе СУБД отвечают на запросы.

# MySQL
mysql -u dev -pDevPass#2026 -e "SELECT VERSION();"

# PostgreSQL
psql -U dev -d devdb -c "SELECT version();"

Если команды выводят версии СУБД, значит всё настроено корректно.

Оптимизация и безопасность

  • Ограничение доступа. По умолчанию Termux слушает только локальный интерфейс (127.0.0.1). Для доступа из сети следует настроить проброс портов через ssh -R или использовать termux-tunnel.
  • Регулярные бэкапы. Для MariaDB используйте mysqldump, а для PostgreSQL — pg_dumpall. Пример автоматического бэкапа в cron (Termux поддерживает crontab через пакет cronie).
  • Настройка памяти. На мобильных устройствах объём RAM ограничен. Для MariaDB уменьшите innodb_buffer_pool_size до 64M, а для PostgreSQL — shared_buffers до 32M.
  • Обновления. Периодически обновляйте пакеты: apt update && apt upgrade -y.

Заключение

Termux — мощный инструмент, позволяющий превратить Android‑устройство в полноценный сервер разработки. Мы рассмотрели установку и базовую настройку как MySQL (MariaDB), так и PostgreSQL, а также рекомендации по безопасности и автоматизации. Теперь вы можете разрабатывать и тестировать свои приложения без необходимости в отдельном ПК или облаке.

Если вам нужен профессиональный аудит инфраструктуры, настройка CI/CD, миграция данных или консультация по оптимизации баз данных, команда RybinskLab готова помочь. Свяжитесь с нами через контактную форму и получите индивидуальное решение под ваш проект.

* Текст статьи подготовлен и структурирован с использованием технологий искусственного интеллекта. Проверен экспертом RybinskLab.

Поделиться знанием:

Нужна профессиональная помощь?

Меня зовут Усачёв Денис Евгеньевич. Я оказываю IT-услуги в Рыбинске и Ярославской области: настройка серверов, безопасность, автоматизация бизнеса.

Связаться со мной
Поддержать проект