Гид по технологиям

Синхронизация библиотек Kodi через MySQL

11 min read Руководство Обновлено 17 Dec 2025
Синхронизация Kodi через MySQL
Синхронизация Kodi через MySQL

Обложка: синхронизация Kodi по локальной сети

Быстрые ссылки

  • Что понадобится
  • Шаг 1: Установить MySQL Server
  • Шаг 2: Создать пользователя MySQL для Kodi
  • Шаг 3: Резервная копия текущей библиотеки Kodi (необязательно)
  • Шаг 4: Настроить Kodi на использование MySQL
  • Шаг 5: Повторить настройку на остальных устройствах
  • Дополнительно: безопасность, отладка, альтернативы и чек-листы

Краткое введение

Kodi остаётся одним из самых гибких медиаплееров: он работает на мощных домашних серверах и на мини‑компьютерах вроде Raspberry Pi. Но по умолчанию каждая установка хранит библиотеку локально. Это означает, что метки «просмотрено», позиция воспроизведения и закладки не синхронизируются между телевизорами в доме.

Решение — хранить общую библиотеку в центральной базе данных MySQL. Тогда все клиенты Kodi будут читать и записывать одно и то же состояние. Это особенно удобно, если у вас несколько телевизоров: можно начать фильм в гостиной, поставить на паузу, а продолжить в спальне с того же кадра.

В этой статье шаг за шагом показано, как развернуть MySQL (в примере на Windows 10), создать пользователя, подготовить Kodi и проверить результат. Также включены рекомендации по безопасности и расширенные сценарии.

Что понадобится

Опорная модель назначения и минимальный набор оборудования/ПО:

  • По крайней мере два устройства с установленным Kodi (в идеале — одна версия Kodi на всех устройствах; в примере используется Kodi v17 “Krypton”).
  • MySQL Community Server (в руководстве используется версия 5.5 — совместимость с Kodi обычно проверяется с этой версией, но инструкции применимы и к другим стабильным версиям). Если вы предпочитаете более новую версию MySQL или MariaDB, см. раздел “Альтернативы”.
  • Один всегда включённый компьютер или NAS, доступный по сети, чтобы на нём работал MySQL-сервер.

Примечание о совместимости: Kodi ожидает конкретную структуру базы данных. При значительном скачке версии Kodi таблицы и имена баз данных меняются (например, myvideos107, mymusic60 и т.д.). В разделе “Матрица совместимости” мы приводим список классических пар версий Kodi ↔ имён БД.

Шаг 1: Установка MySQL Server

В примере сервер устанавливается на машину с Windows 10. Для других ОС следуйте официальной документации MySQL 5.5 или используйте пакетный менеджер вашей ОС (apt, yum, brew и т.п.).

  1. Скачайте установщик MySQL Community Server 5.5 и запустите его.

  2. На шаге установки выберите “Typical” и завершите установку.

  3. Убедитесь, что отмечена опция “Launch the MySQL Instance Configuration Wizard” и нажмите Finish.

  4. В мастере конфигурации выберите Standard Configuration и нажмите “Next”.

Мастер установки MySQL — выбор конфигурации стандарт

  1. Отметьте “Install As Windows Service” и, по желанию, задайте имя сервиса (например, MySQL). Включите “Launch the MySQL Server Automatically”.

  2. На следующем экране отметьте Modify Security Settings, задайте пароль root и включите “Enable root access from remote machines” (только если вы доверяете сети; см. раздел “Безопасность”).

  3. Нажмите Execute и дождитесь завершения.

Важно: при установке на Linux вы можете пропустить некоторые шаги мастера — вместо этого используйте пакетный менеджер и настройте /etc/my.cnf при необходимости.

Шаг 2: Создание пользователя MySQL для Kodi

Теперь создадим отдельную учётную запись для Kodi. Работа будет в командной строке MySQL.

  1. Запустите MySQL Command Line Client (или подключитесь по terminal/ssh для Linux).

  2. Введите пароль root, который задали при установке.

  3. Выполните следующие команды по очереди (нажмите Enter после каждой):

CREATE USER 'kodi' IDENTIFIED BY 'kodi';
GRANT ALL ON *.* TO 'kodi';
FLUSH PRIVILEGES;

Пояснение: первая команда создаёт пользователя kodi с паролем kodi, вторая даёт полный доступ (для простоты в домашней сети) и третья применяет изменения.

Важно: использовать одинаковый логин и пароль в продакшне — плохая практика. Для домашней сети это приемлемо, но в разделе “Безопасность” ниже есть рекомендации по повышению безопасности.

  1. Наконец, убедитесь, что на хосте открыт порт 3306 (TCP). В Windows это обычно делает инсталлятор, но если порт закрыт — откройте его через PowerShell (запустите PowerShell от имени администратора):
New-NetFirewallRule -DisplayName "Allow inbound TCP Port 3306 for MySQL" -Direction inbound –LocalPort 3306 -Protocol TCP -Action Allow

Если команда успешно выполнилась, можно переходить к конфигурированию Kodi.

Шаг 3: Резервная копия текущей библиотеки Kodi (необязательно, но рекомендуется)

По умолчанию Kodi использует SQLite-файлы в userdata. Перед переключением на MySQL разумно сделать резервную копию.

Варианты:

  • Экспортировать библиотеку из Kodi (Settings > Media Settings > Export Library).
  • Скопировать директорию userdata (включая файлы MyVideos.db и MyMusic.db).

Экспорт из интерфейса Kodi:

  1. На машине с самой актуальной библиотекой откройте Kodi.
  2. Перейдите Settings > Media Settings > Export Library (в меню Advanced/Expert).
  3. Выберите формат: единый файл или несколько файлов (JPG/NFO). Единый файл легче хранить, множественные файлы надёжнее при восстановлении, но приводят к «засорению» папок медиа.

Кроме того, можно вручную скопировать папку userdata:

  • Windows: C:\Users[username]\AppData\Roaming\Kodi\userdata
  • Linux: $HOME/.kodi/userdata
  • macOS: /Users/[username]/Library/Application Support/Kodi/userdata

Сохраните резервную копию в безопасном месте.

Шаг 4: Настроить Kodi на использование MySQL

Теперь укажем Kodi, что библиотека видео и музыки — это внешняя MySQL‑база. Для этого правим (или создаём) файл advancedsettings.xml в userdata.

Путь к userdata по ОС:

  • Windows: C:\Users[username]\AppData\Roaming\Kodi\userdata
  • Linux и Live‑версии Kodi: $HOME/.kodi/userdata
  • macOS: /Users/[username]/Library/Application Support/Kodi/userdata

Если advancedsettings.xml уже есть — отредактируйте его; если нет — создайте новый файл.

Пример содержимого, которое нужно вставить (подставьте IP вашего MySQL‑сервера и учётные данные):


  
    mysql
    192.168.1.10
    3306
    kodi
    kodi
  
  
    mysql
    192.168.1.10
    3306
    kodi
    kodi
  

Примечания:

  • Если в advancedsettings.xml уже есть другие секции — не удаляйте их; добавьте блоки videodatabase и musicdatabase внутри общего тега .
  • Используйте IP‑адрес сервера, а не его имя, если в вашей сети возникают проблемы с DNS.
  • В зависимости от версии Kodi имена баз данных автоматически получаются из версии Kodi (например, myvideos107 для Kodi 17.x). Это нормально.

После помещения файла advancedsettings.xml запустите Kodi и либо импортируйте библиотеку (Settings > Media Settings > Import Library), либо выполните повторное сканирование источников, чтобы Kodi заполнил MySQL новой информацией.

Проверка на MySQL‑сервере:

Подключитесь к MySQL и выполните:

SHOW DATABASES;

Вы увидите системные базы и, при успешной настройке, базы Kodi (например: myvideos107 и mymusic60). Чтобы проверить, что таблицы заполнились, выполните:

SELECT COUNT(*) FROM databasename.movie;
SELECT COUNT(*) FROM databasename.tvshow;

Эти запросы вернут количество фильмов и сериалов, внесённых в MySQL.

Если число нулевое — откройте раздел “Отладка” ниже.

Шаг 5: Повтор настроек на остальных устройствах

Скопируйте тот же advancedsettings.xml на все остальные устройства, указывая тот же IP/пользователя/пароль. Перезапустите Kodi на каждом устройстве.

Советы для специфичных платформ:

  • Raspberry Pi / LibreELEC: в сетевых настройках включите “Wait for network before starting Kodi”.
  • Если видео находятся на защищённом шаре (SMB/NFS) и Kodi на новом устройстве требует пароля, перейдите в Files > Add Videos и выберите источник, чтобы Kodi запросил учётные данные.

После настройки попробуйте:

  • Посмотреть эпизод на одном устройстве и проверить статус “Просмотрено” на другом.
  • Приостановить на одном устройстве и продолжить на другом — позиция должна сохраниться.

Дополнительно: безопасность и хорошие практики

Даже в домашней сети стоит защищать MySQL‑сервер:

  • Пароли: используйте уникальные и сложные пароли, даже для домашнего сервера.
  • Привилегии: вместо GRANT ALL разрешайте только нужные привилегии (SELECT, INSERT, UPDATE, DELETE) на конкретных базах. Пример:
GRANT SELECT, INSERT, UPDATE, DELETE ON myvideos%.* TO 'kodi'@'%';
FLUSH PRIVILEGES;
  • Доступ по сети: ограничьте доступ к 3306 через брандмауэр — разрешайте подключение только с IP‑адресов ваших устройств Kodi.
  • SSH‑туннелирование: если вы вынуждены открывать порт MySQL в интернете (не рекомендуется), используйте SSH‑туннель и ключи.
  • Резервные копии: регулярно делайте дамп базы данных командой mysqldump.

Резервное копирование базы MySQL:

mysqldump -u root -p --databases myvideos107 > myvideos107_backup.sql

Восстановление:

mysql -u root -p < myvideos107_backup.sql

Тестирование и критерии приёмки

Критерии, по которым можно считать внедрение успешным:

  • После настройки и перезапуска всех клиентов Kodi одно и то же видео показывает одинаковое состояние “просмотрено”.
  • Количество записей в таблицах movie и tvshow на MySQL соответствует количеству в интерфейсе Kodi.
  • После просмотра и приостановки на одном устройстве позиция воспроизведения доступна на другом устройстве.

Тест‑кейсы:

  • Запустить фильм на устройстве A, поставить на паузу на 30 минут, на устройстве B открыть тот же фильм и продолжить воспроизведение. Ожидаемый результат: воспроизведение начинается с точки остановки.
  • Пометить эпизод как “просмотрено” на устройстве A. Открыть библиотеку на устройстве C — эпизод помечен как просмотренный.
  • Создать новый источник и просканировать — все устройства отображают новые элементы после перезапуска Kodi.

Отладка: распространённые проблемы и решения

Проблема: Базы данных отсутствуют (SHOW DATABASES не показывает myvideos…)

  • Проверьте, находится ли advancedsettings.xml в правильном пути и корректно ли заполнены host, user, pass.
  • Убедитесь, что Kodi был перезапущен после добавления файла advancedsettings.xml.
  • Проверьте, создаёт ли Kodi базы при импортировании/сканировании источников (Settings > Media Settings > Import Library).

Проблема: SELECT COUNT возвращает 0

  • Проверьте, корректно ли настроены источники и сканируется ли контент локально (временно удалите advancedsettings.xml и проверьте локальную библиотеку).
  • Проверьте права пользователя MySQL (GRANT). Возможно, Kodi не имеет права создавать таблицы.

Проблема: Клиенты не подключаются к серверу

  • Проверьте связь по сети (ping IP): ping 192.168.1.10

  • Убедитесь, что порт 3306 открыт и слушается (на сервере):

    • Windows: netstat -an | find “3306”
    • Linux: sudo ss -tlpn | grep 3306
  • Убедитесь, что брандмауэр сервера разрешает входящие соединения только от ваших клиентов.

Проблема: Разные версии Kodi

  • Разные версии Kodi создают разные имена баз данных (myvideosXXX). Если на одном клиенте Kodi старой версии, а на другом — новой, структуры БД могут не совпадать. Рекомендуется использовать одну версию Kodi на всех устройствах.

Альтернативные подходы и когда они лучше

  1. Trakt TV (онлайн‑сервис) — синхронизирует метки “просмотрено” и прогресс между устройствами, но не хранит локальную библиотеку. Подходит, если вы хотите лишь синхронизацию статусов и не хотите держать собственный сервер.

  2. Использование общих файлов баз данных (NFS/SMB) — теоретически возможно, но SQLite не предназначен для параллельного доступа множества клиентов и может повреждаться.

  3. MariaDB вместо MySQL — совместим в большинстве случаев и часто предпочтителен для новых развёртываний.

  4. Kodi‑аддоны и облачная синхронизация — некоторые аддоны позволяют хранить мета‑данные в облаке, но это менее универсально.

Когда MySQL предпочтительнее:

  • У вас несколько постоянно включённых устройств Kodi в локальной сети и вы хотите центральное хранилище.
  • Вам нужен локальный контроль над данными и отсутствие зависимости от облачных сервисов.

Когда лучше не использовать MySQL:

  • У вас только одно устройство с Kodi — центральная БД избыточна.
  • Вы не хотите поддерживать сервер, резервное копирование и безопасность.

Матрица совместимости (часто встречающиеся пары)

  • Kodi 16 (Jarvis) → myvideos104 / mymusic55
  • Kodi 17 (Krypton) → myvideos107 / mymusic60
  • Kodi 18 (Leia) → myvideos108 / mymusic61

Примечание: номера могут отличаться между минорными сборками. Всегда проверяйте на новом клиенте имя базы данных после первого запуска.

Чек‑лист для администратора (перед началом)

  • Есть резервная копия userdata и/или дамп текущей SQLite‑базы.
  • MySQL установлен и запущен на всегда‑включённой машине.
  • Пользователь MySQL создан с минимально необходимыми правами.
  • Порт 3306 доступен только для клиентов Kodi.
  • advancedsettings.xml сформирован с корректным IP и данными доступа.
  • Все клиенты перезапущены и проверены тестовым воспроизведением.

Чек‑лист для пользователя (при подключении нового устройства):

  • Установлен Kodi нужной версии.
  • advancedsettings.xml скопирован в userdata с корректными параметрами.
  • Подключены сетевые источники и при необходимости введены учётные данные SMB/NFS.
  • Проверен список фильмов/сериалов и синхронизация статуса.

SOP: откат и восстановление (если что‑то пошло не так)

  1. Если заметили проблемы сразу после настройки, верните advancedsettings.xml в изначальное состояние (либо удалите) и запустите Kodi — клиент вернётся к локальной базе.
  2. Если база MySQL повреждена, восстановите дамп:
mysql -u root -p < myvideos107_backup.sql
  1. После восстановления перезапустите все клиенты Kodi.
  2. Если различия в статусах сохраняются, вручную импортируйте библиотеку на одном клиенте и пересканируйте источники.

Мини‑методология принятия решений

  • Если у вас стабильная локальная сеть и несколько клиентов — выбирайте MySQL/MariaDB.
  • Если хотите минимального администрирования и не храните локальные данные — используйте облачные решения (Trakt).
  • Если количество клиентов мало и они не всегда онлайн одновременно — MySQL по‑прежнему удобен, но учтите, что сервер должен быть доступен каждый раз при сканировании.

Решение в виде блок‑схемы (Mermaid)

flowchart TD
  A[Начать: Есть несколько устройств Kodi?] -->|Да| B{Есть всегда включённый сервер?}
  B -->|Да| C[Установить MySQL/MariaDB]
  B -->|Нет| D[Использовать облачные сервисы или включить NAS]
  C --> E{Хочется локального контроля?}
  E -->|Да| F[Настроить MySQL, создать пользователя, advancedsettings.xml]
  E -->|Нет| D
  F --> G[Проверить и тестировать]
  G --> H[Развернуть на всех клиентах]
  H --> I[Готово]

Частые ошибки — галерея крайних случаев

  • SQLite-файлы были перемещены на сетевой ресурс и повредились из‑за одновременного доступа нескольких клиентов.
  • Не включён параметр “Wait for network before starting Kodi” на LibreELEC, из‑за чего Kodi стартовал до появления сети и не подхватил базу.
  • Неправильные права у MySQL‑пользователя: Kodi создаёт базы, но не может записать данные.

Рекомендации по поддержанию системы

  • Делайте дамп базы каждую неделю или перед крупными изменениями.
  • Обновляйте Kodi одновременно на всех устройствах по возможности.
  • Логируйте изменения: при больших библиотеках полезно держать журнал сканирований.

Короткое объявление для домашней сети (100–200 слов)

Мы настроили централизованную библиотеку Kodi на локальном MySQL‑сервере. Теперь все телевизоры в доме используют одну и ту же базу: отметки “просмотрено”, закладки и позиции воспроизведения синхронизированы. Чтобы подключиться, добавьте файл advancedsettings.xml с IP сервера и учётными данными в папку userdata на каждом устройстве Kodi и перезапустите приложение. Не забудьте сделать резервную копию вашей текущей библиотеки перед началом. При желании ограничьте доступ к порту 3306 только для устройств в локальной сети и настройте резервное копирование дампов MySQL.

Резюме

Вы создали централизованную библиотеку Kodi с помощью MySQL и синхронизировали статусы просмотра между всеми устройствами. Основные шаги: установка MySQL, создание пользователя, резервная копия библиотеки, правка advancedsettings.xml и повторение на всех клиентах. Дополнительно рассмотрены безопасность, отладка и альтернативы.

Важное

  • Всегда делайте резервные копии перед изменением библиотек.
  • Для стабильной работы держите сервер MySQL доступным, а клиенты — в одной версии Kodi.

Изображение: FLIRC Kodi Edition Raspberry Pi Case

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как вести прямые эфиры на YouTube
Стриминг

Как вести прямые эфиры на YouTube

Очистка кэша Spotify — как освободить место
Руководства

Очистка кэша Spotify — как освободить место

Установка и удаление драйвера BCM20702A0 в Windows 7
Драйверы

Установка и удаление драйвера BCM20702A0 в Windows 7

Подключить контроллер PS4 к Android и Chromebook
Гайды

Подключить контроллер PS4 к Android и Chromebook

Удалённое управление торрентами: µTorrent и Transmission
Networking

Удалённое управление торрентами: µTorrent и Transmission

Как проверить, замедляет ли оператор мобильный интернет
Мобильный интернет

Как проверить, замедляет ли оператор мобильный интернет