Как получить текущий снимок MySQL Database Table и передать его по FTP на удаленный сервер с помощью PHP - PullRequest
2 голосов
/ 05 марта 2010

Вот сценарий:

  1. Я получаю файл CSV, в котором есть данные1, данные2, данные3, данные4 (Добавить, Обновить, Удалить), данные5, и в файле CSV содержится примерно 90000 записей, в первой строке дано описание столбца, например

    DATE AGE NAME STATUS (ADD, UPDATE, DELETE) TIME

    1 01/02 23 Phil A 23: 00: 00
    2 02/03 32 Erick D 12:00:00 3 09/07 36 Тимми U 11: 00: 00

  2. Мне нужно проанализировать этот CSV-файл и сохранить данные в базе данных, и в зависимости от STATUS мне нужно добавить, обновить или удалить информацию из базы данных. Я делаю это, используя PDO и подготовленные операторы и параметры привязки.

Несколько вопросов , Q2 Я спрашивал, что бы добавить мясо к этому резюме и было бы полезно.

  1. После выполнения требуемых операций с базой данных, таких как ADD, DELETE и UPDATE, в зависимости от таблицы STATUS, мне нужно получить текущий снимок таблицы MySQL (или базы данных, но сейчас я больше обеспокоен таблицей) и отправить ее на FTP-сервер. из PHP.

Мои проблемы:

  1. Я пытаюсь обновить содержимое базы данных в зависимости от СОСТОЯНИЯ, но каким-то образом оно не обновлялось, эта проблема обсуждалась в Q2, указанном выше.

  2. Также я хочу получить текущий снимок или состояние MySQL Table, которое мне нужно экспортировать на FTP-сервер, и я не уверен, какой подход мне нужен для достижения моей цели.

Надеюсь, что вопрос ясен здесь и получит некоторую полезную информацию.

Спасибо.

Обновление: Я пытался найти другие альтернативы, касающиеся подхода для получения снимка текущего состояния базы данных, в моем случае MySQL, но не нашел ни одного, который можно было бы использовать. Google дает мне странные ответы и вводит меня в заблуждение. Неужели так сложно получить снимок текущего состояния базы данных и отправить его на FTP-сервер с помощью PHP?

1 Ответ

1 голос
/ 05 марта 2010

Вы можете создать снимок БД MySQL или таблицы / группы таблиц с помощью команды mysqldump .

Это даст вам текстовый файл. Вы захотите сжать файл, если ваша БД достаточно велика. В Linux я использую команду gzip.

Затем вы можете отправить этот файл по FTP на удаленный сервер. В зависимости от конфигурации вашей ОС и PHP, вы можете выполнить команду ОС со сценарием для выполнения FTP. На какой ОС это работает? Позволяет ли ваша конфигурация PHP выполнять команды ОС?

EDIT:

Поскольку вы не можете запускать команды уровня ОС, попробуйте выполнить SELECT * из таблицы в PHP, записать результаты в файл, а затем использовать встроенные PHP FTP команды для передачи этого файла на ваш удаленный сервер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...