Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как можно синхронизировать добавление, редактирование и удаление таблиц и его строк в PHPMyAdmin в Localhost -> MySite.ru?
 
 автор: muravey   (25.01.2011 в 09:34)   письмо автору
 
 

Доброго всем времени суток!

Подскажите пожалуйста, как можно синхронизировать добавление, редактирование и удаление таблиц и его строк в PHPMyAdmin в Localhost -> MySite.ru?

  Ответить  
 
 автор: Valick   (25.01.2011 в 10:52)   письмо автору
 
   для: muravey   (25.01.2011 в 09:34)
 

Вопрос абсолютно не понятен.

  Ответить  
 
 автор: cheops   (25.01.2011 в 12:07)   письмо автору
 
   для: muravey   (25.01.2011 в 09:34)
 

Не понятно, что с чем синхронизируется?

  Ответить  
 
 автор: muravey   (26.01.2011 в 14:36)   письмо автору
 
   для: cheops   (25.01.2011 в 12:07)
 

Алгоритм действий:
1. работаю с БД в PHPMyAdmin на localhost, где ред. добавл. удаляю строки или таблицы
2. выгружаю дамп БД
3. захожу на хост в инете где мой сайт, захожу там в PHPMyAdmin
4. загружаю дамп БД

Вопрос:
- как можно автоматизировать в PHPMyAdmin п.п.2-4, чтобы это не делать вручную?
- или какие еще могут быть варианты?

  Ответить  
 
 автор: Лена   (26.01.2011 в 15:05)   письмо автору
36.6 Кб
 
   для: muravey   (26.01.2011 в 14:36)
 

Можно в админке сайта сделать интерфейс для работы с базами данных.
См. картинку =>
Я выполнила только что запрос на выборку. Точно так же можно делать и запросы на обновление, удаление и т.д. Главное, чтобы у того, кто этим должен заниматься были соответствующие права.

  Ответить  
 
 автор: neadekvat   (26.01.2011 в 15:20)   письмо автору
 
   для: Лена   (26.01.2011 в 15:05)
 

То есть вы для админки написали второй phpmyadmin?

  Ответить  
 
 автор: Лена   (26.01.2011 в 17:09)   письмо автору
 
   для: neadekvat   (26.01.2011 в 15:20)
 

Нет, я это не писала. Это из готового самописного проекта.
Работает действительно, как аналог phpmyadmin.
Я точно такое же видела и в Битриксе, и в Друпале.
Если я такое и напишу, то нескоро :)

  Ответить  
 
 автор: Trianon   (26.01.2011 в 15:29)   письмо автору
 
   для: muravey   (26.01.2011 в 14:36)
 

>- как можно автоматизировать в PHPMyAdmin п.п.2-4, чтобы это не делать вручную?

п.2 можно выполнить путем запуска утилиты из оболочки командной строки.
Правда, не факт, что такой дамп (особенно если он очень большой) окажется пригодным для импорта через phpMyAdmin.
п.3.4. (пакетная работа с phpMyAdmin) автоматизировать не получится. phpMyAdmin - интерактивный клиент, для пакетной работы существует mysql command line client.
Последний, впрочем, работает лишь на той машине, для которой разрешен доступ к серверу БД.
А хостеры, как правило, такой доступ запрещают.

>- или какие еще могут быть варианты?

Писать собственные скрипты экспорта и импорта.
Но дело это крайне непростое - придется учитывать достаточно много разных проблем (ограничения на время исполнения скрипта, ограничения на размер передаваемых пакетов, обеспечение стабильной работы сервера БД по запросам сайта, и т.д.)
Поэтому от начала до конца полностью универсальных автоматических инструментов не бывает - все ньюансы не учтешь.
А коль так, либо пишут что-то специализированное под собственные нужды (редко).
Либо справляются имеющимися средствами и собственными руками. (обычно).

  Ответить  
 
 автор: muravey   (27.01.2011 в 19:47)   письмо автору
 
   для: Trianon   (26.01.2011 в 15:29)
 

Поправте мой алгоритм, если что то не так:
- пишу скрипт для админки, который сохраняет все действия с БД в текстовой файл - добавил строку в таблицу -> прога записала запрос в файл, добавил таблицу - тоже, удалил строку и т.д.
- загружаю файл на хост
- на хосте есть скрипт который отслеживает есть ли файл с обнавлением БД
- если есть то производит все действия в БД запросами из файла....

примерно так?

  Ответить  
 
 автор: Trianon   (27.01.2011 в 19:53)   письмо автору
 
   для: muravey   (27.01.2011 в 19:47)
 

>- пишу скрипт для админки, который сохраняет все действия с БД в текстовой файл - добавил строку в таблицу -> прога записала запрос в файл, добавил таблицу - тоже, удалил строку и т.д.

у Вас менять состояние БД только админка может чтоли?
При обычной работе сайта в таблицы никаких изменений не вносится?

>- загружаю файл на хост
>- на хосте есть скрипт который отслеживает есть ли файл с обнавлением БД

Вот то, что эти два пункта разделены, тоже Вам добавит изрядно головной боли.
Это значит, что придется скрипт в планировщик (CRON) засовывать.

>- если есть то производит все действия в БД запросами из файла....

А ну как не успеет?

  Ответить  
 
 автор: muravey   (27.01.2011 в 20:03)   письмо автору
 
   для: Trianon   (27.01.2011 в 19:53)
 

Чтобы понятней было, немного поясню:
- я работаю с сайтом на localhoste, таблицы и строки(поля) доб. ред. удал. в PHPMyAdmin
- а с данными которые в полях опред. таблицы работаю из админки

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

Вот как это правильно сделать, я и спрашиваю!

  Ответить  
 
 автор: Trianon   (27.01.2011 в 20:14)   письмо автору
 
   для: muravey   (27.01.2011 в 20:03)
 

>Чтобы понятней было, немного поясню:
>- я работаю с сайтом
Еще не работаете, а только собираетесь работать по схеме, которую описываете в третий чтоли раз.
Я и в первый раз прекрасно понял.


К сожалению, отвечать на вопросы, которые задают Вам, Вы не хотите. Или не считаете нужным.
А меж тем, от ответа на них зависит, возможно ли (относительно недорогими затратами) предложенную Вами схему реализовать в принципе.

В том смысле, что если ответ будет один - то может быть и выйдет. Как - не знаю.
А если другой - не выйдет никак.

То, что задачку Вы выбрали весьма непростую видно уже сейчас.

  Ответить  
 
 автор: muravey   (27.01.2011 в 20:41)   письмо автору
 
   для: Trianon   (27.01.2011 в 20:14)
 

Вы задали всего три вопроса:

УЧИТЕЛЬ
у Вас менять состояние БД только админка может чтоли?

УЧЕНИК
Админка может пока только доб, ред, удал записи в табл
Все остальное в PHPMyAdmin

УЧИТЕЛЬ
При обычной работе сайта в таблицы никаких изменений не вносится?

УЧЕНИК
Изменения вносятся, гостевая книга, счетчики посещений страниц

УЧИТЕЛЬ
А ну как не успеет?

УЧЕНИК
Не понял вопроса!

Вы профессионал, а я только учусь и пройдет время и тоже стану профи, а может и лучше...
Если вам понятна задача, то почему вам просто не направлять меня к решению, я не прошу никого код писать за меня я его сам напишу. Ваши книги поверьте постарались в том что я умею это делать!

Мне просто нужен алгоритм действий, который внедрится сразу после этого форума...

Вы правы в том что с менее затратами, потому что время для меня деньги...

И еще я не ищу простых решений, так как моя система на моем сайте будет полностью автоматизирована, лучше я сейчас потрачу время, но зато потом все будет быстрее работать.

  Ответить  
 
 автор: Trianon   (27.01.2011 в 21:07)   письмо автору
 
   для: muravey   (27.01.2011 в 20:41)
 

>>При обычной работе сайта в таблицы никаких изменений не вносится?
>Изменения вносятся, гостевая книга, счетчики посещений страниц

Попробую на пальцах.
Я опасаюсь следующего.
Что будет, если коррективы, вносимые со стороны админки (localhost и т.д.), лягут на таблицы без учета того, что таблицы уже были изменены постоянно действующими скриптами (вроде гостевой и счетчиков)?
При чем, заметьте, это сейчас у Вас только гостевая и счетчики.
Если Вы планируете хоть чуть чуть вперед, позже появятся регистрация, пользователи, личные данные. Отслеживать несоответствия в них будет сущим кошмаром.


>>А ну как не успеет?
>Не понял вопроса!

Время выполнения любого скрипат ограничено -именно поэтому пакетные задания так непросто выполнять.
Если скрипт запущен по http-запросу (браузером или другим клиентом) время его выполнения ограничивается лимитами в php.ini и таймаутами http-протокола.
Если скрипт запущен планировщиком, время его (в первом приближении , очень грубо) ограничено интервалом повтора задания. Сделать этот время этого повтора маленьким - скрипт не сможет выполнять длинные пакеты обновлений. Сделать большим - уменьшится реактивность, Вы не сможете вносить правки настолько оперативно, насколько захотите.

>Мне просто нужен алгоритм действий, который внедрится сразу после этого форума...

Весьма сомнительно, что Вы сходу за раз сможете выбрать оптимальный путь.
Или что Вам тут сходу за раз сможет кто-нибудь это сделать.

Если временно закрыть глаза на проблемы работы с большими пакетами обновлений, я бы посоветовал сделать следующее.
Со стороны сервера написать скрипт, который принимал бы текст с дампом (потоком SQL-операторов) и последовательно бы эти операторы выполнял.
На первых порах, непростой задачей будет отделить в тексте один оператор от другого.
Попробуйте выбрать способ такого формирования дампа, чтобы эту задачу решить достаточно легко.
Например, работать только ровно с одним оператором на строку.
Можно придумать схему и посложнее.

Далее можете попробовать написать скрипт, который сформирует подходящий дамп со стороны клиента.

Это чтобы хоть как-то начать действовать.
Проблемы все равно останутся.
Но пока Вы не начнете работать, Вы даже столкнуться с ними не сможете.

  Ответить  
 
 автор: muravey   (30.01.2011 в 11:18)   письмо автору
 
   для: Trianon   (27.01.2011 в 21:07)
 

Спасибо, я все понял!

Начал уже работать. Появятся вопросы, в новых темах продолжу общение.

  Ответить  
 
 автор: neadekvat   (26.01.2011 в 15:32)   письмо автору
 
   для: muravey   (26.01.2011 в 14:36)
 

Есть корошая весч - Sypex Dumper. Посмотрите, авось чего полезного найдете.

  Ответить  
 
 автор: Trianon   (26.01.2011 в 15:54)   письмо автору
 
   для: neadekvat   (26.01.2011 в 15:32)
 

весчъ, конечно, неплохая.
Но я сталкивался с тем, что в неумелых руках (вернее в руках, управляемых пустыми мозгами) эта весчъ приводила к потере БД.
Собственно, это не вина инструмента - болгаркой можно сделать очень многое, а можно и ногу отпилить.
Просто я не назвал бы supexdumper чистым автоматом.

  Ответить  
 
 автор: neadekvat   (26.01.2011 в 16:12)   письмо автору
 
   для: Trianon   (26.01.2011 в 15:54)
 

Да, чтобы его по крону запускать - надо допиливать.
Но и скрывать (точнее, не озвучивать), что такой инструмент существует, исходя из идеи, что автор может убить БД - было бы неправильно, я думаю.

  Ответить  
 
 автор: Trianon   (26.01.2011 в 16:41)   письмо автору
 
   для: neadekvat   (26.01.2011 в 16:12)
 

от почтеннейшей публики - безусловно :)

  Ответить  
 
 автор: lightning.say   (25.01.2011 в 13:17)   письмо автору
 
   для: muravey   (25.01.2011 в 09:34)
 

т.е. вы хотите добавлять, редактировать и удалять таблицы и строки через PHPMyAdmin и на вашем сайте это каким-то образом сказывалось?

  Ответить  
 
 автор: kosta_in_net   (28.01.2011 в 00:51)   письмо автору
 
   для: muravey   (25.01.2011 в 09:34)
 

а почему обязательно редактировать на локалхосте, а потом сливать на сервер? Почему не в обратном направлении? Сначала на сервере, потом скачивать дамп, как резервную копию и, если требуется, заливать на локальный sql

  Ответить  
 
 автор: muravey   (30.01.2011 в 11:20)   письмо автору
 
   для: kosta_in_net   (28.01.2011 в 00:51)
 

Потому что, я редактирую сайт на локальной машине там где нет интернета. В тундре например.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования