Как выполнять операции CRUD с удаленно хранящейся базой данных WP без прав root?

Вопрос или проблема

У меня есть локальное приложение, которое записывает данные в две таблицы локальной MySQL. Кроме того, у меня есть удаленный хостинг WordPress (у меня нет root-доступа на этом хосте), где база данных имеет соответствующие таблицы wp_.

Я подозреваю, что обычные хостинги WP не позволяют напрямую подключаться к MySQL удаленно.

Каков рабочий/обычный способ синхронизации локальных некорректных таблиц MySQL с таблицами на хостинговом WordPress?

Ответ или решение

Для выполнения CRUD (создание, чтение, обновление, удаление) операций с базой данных WordPress, которая размещена удаленно, без доступа к корню, и на которой нет прямого доступа к MySQL, можно использовать несколько подходов. Вот поэтапное руководство по синхронизации локальных таблиц MySQL с удаленными таблицами WordPress:

1. Использование REST API WordPress

WordPress предоставляет мощный REST API, который позволяет взаимодействовать с его базой данных, не имея прямого доступа к MySQL. Вы можете использовать его для выполнения CRUD операций.

Шаги:

  • Включите REST API: В большинстве случаев REST API уже включен в WordPress. Убедитесь, что ваши настройки позволяют его использование.

  • Аутентификация: Для выполнения операций записи (POST, PUT, DELETE) вам потребуется аутентификация. Вы можете использовать плагины, такие как:

    • JWT Authentication for WP REST API: позволяет использовать токен JWT для аутентификации.
    • Basic Authentication: также доступен для использования, но менее безопасен.
  • Создание и чтение записей:

    • Для создания записей вы можете отправить POST-запрос на https://ваш_сайт/wp-json/wp/v2/posts (для создания постов, аналогично и для других типов записей).
    • Для получения данных используйте GET-запросы к соответствующим конечным точкам.
  • Обновление и удаление записей:

    • Используйте PUT-запрос для обновления https://ваш_сайт/wp-json/wp/v2/posts/{id}.
    • Удаление выполняется с помощью DELETE-запроса на тот же URL.

2. Использование плагина для синхронизации базы данных

Если для вашей задачи REST API не является оптимальным выбором, вы можете использовать плагины для синхронизации:

  • WP Data Sync: Позволяет синхронизировать данные между локальными и удаленными базами данных.
  • WP Migrate DB Pro: Платный плагин, который позволяет легко экспортировать и импортировать базы данных, но требуется немного больше конфигурации.

3. Экспорт и импорт данных через SQL-запросы

Если доступ к базе данных осуществляется через phpMyAdmin или аналогичный инструмент, вы можете экспортировать и импортировать данные:

  • Экспортируйте данные из локальной базы через mysqldump или интерфейс phpMyAdmin и сохраните файл SQL.
  • Импортируйте данные через phpMyAdmin в удаленную базу данных.

Этот метод менее автоматизированный и подходит для периодической синхронизации.

4. Программный обмен данными

Если у вас есть возможность разработать решение, вы можете создать отдельный скрипт на PHP, который будет:

  • Получать данные из локальной базы.
  • Отправлять данные в удаленную базу через REST API или напрямую через SQL-запросы (если это разрешено хостингом).

Заключение

В зависимости от ваших технических навыков и архитектуры приложения, один из вышеперечисленных способов может подойти лучше всего. Рекомендуется использовать REST API WordPress, так как это наиболее безопасный и удобный способ взаимодействия с удаленной БД без необходимости доступа к серверу. Тем не менее, если REST API не подходит, можно рассмотреть альтернативные способы синхронизации, такие как плагины или ручной обмен данными.

Оцените материал
Добавить комментарий

Капча загружается...