Да, к этой базе данных можно подключиться с вашего локального компьютера через SSH. Поскольку база данных использует SQLite (которая является обычным файлом на диске сервера), здесь нет сетевого порта, как у PostgreSQL или MySQL, но наличие SSH-доступа дает вам несколько удобных вариантов:
Вариант 1. Использовать современный GUI-клиент с поддержкой SSH (Рекомендуется)
Большинство современных графических клиентов для баз данных умеют работать с SQLite-файлами на удаленных серверах через SSH:
-
TablePlus:
- Создайте новое подключение и выберите тип SQLite.
- В поле Database file укажите абсолютный путь к файлу на сервере (например,
/home/username/dicechess-sync/data/sync.db). - В секции SSH включите туннель, введите хост сервера, имя пользователя и выберите ваш приватный SSH-ключ.
- TablePlus сам скачает временную копию или будет обращаться к файлу через SFTP в фоне.
-
DBeaver или DataGrip:
- Создайте подключение SQLite.
- Перейдите на вкладку SSH и настройте подключение к вашему серверу.
- На основной вкладке настроек укажите путь к файлу БД на удаленной машине. Клиент сам настроит мост для работы с файлом.
Вариант 2. Просмотр прямо в терминале через SSH
Вы можете подключиться по SSH и использовать стандартную консольную утилиту sqlite3:
- Подключитесь к серверу:
ssh user@your-server-ip - Откройте базу данных:
sqlite3 /путь/к/dicechess-sync/data/sync.db - Вы можете выполнять любые SQL-запросы в интерактивном режиме. Например:
SELECT sync_status, count(*) FROM players GROUP BY sync_status; .headers on .mode column SELECT username, rating_classic, sync_status FROM players LIMIT 10; .quit
Вариант 3. Выполнение запросов в один клик с локального ПК
Вы можете выполнять SQL-запросы одной командой с вашего локального компьютера, не заходя в интерактивную сессию SSH:
ssh user@your-server-ip "sqlite3 /путь/к/dicechess-sync/data/sync.db 'SELECT sync_status, count(*) FROM players GROUP BY sync_status'"Вариант 4. Монтирование папки через SSHFS
Если вам обязательно нужно использовать локальный GUI-инструмент, который не умеет сам работать через SSH (например, классический DB Browser for SQLite):
- Смонтируйте удаленную папку с базой данных к себе на локальный диск с помощью SSHFS:
sshfs user@your-server-ip:/путь/к/dicechess-sync/data ~/remote_sync_db - Откройте файл
~/remote_sync_db/sync.dbлюбым локальным приложением. - По окончании работы размонтируйте директорию:
umount ~/remote_sync_db
Примечание: Поскольку БД открыта в режиме WAL (journal_mode = WAL), параллельное чтение файла базы данных во время работы скрипта не будет мешать записи или приводить к блокировкам базы данных.