Форум программистов CodeGuru
18 Сентябрь 2018, 23:26:14 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: база данных фотки  (Прочитано 18713 раз)
0 Пользователей и 1 Гость смотрят эту тему.
DIANA
Интересующийся
**
Офлайн Офлайн

Сообщений: 18


Дипигала


Просмотр профиля WWW
« : 28 Июль 2010, 16:58:35 »

прошу прощения за блондинистый вопрос Улыбка, можно ли перенести из одной базы (две базы у одного пользователя) данных в другую базу фотографии, а то пришлось намедни  Тащусь ! загружать их заново
Записан

Дипигала
3V
Администратор
Ветеран
*****
Офлайн Офлайн

Сообщений: 1347



Просмотр профиля WWW
« Ответ #1 : 28 Июль 2010, 20:34:13 »

Ну, в общем случае можно конечно.
Вопрос в том, что за базы, и какого рода перенос нужен.
Подозреваю, что это mysql Улыбка

Вобщем, все зависит от деталей. Нужно ли переносить информацию выборочно или все целиком, вставка в другую базу должна быть с теми же id или другими, допустимо ли сначала забрать информацию себе, а потом снова ее переслать на сервер, и.т.д. Какие есть средства. Например, есть ли phpMyAdmin, есть ли доступ через ssh и установлен ли пакет клиентских утилит для mysql. Можно ли устанавливать и использовать дополнительные скрипты.

Если есть доступ по ssh и установлена mysqldump, то можно воспользоваться ей для получения sql-дампа базы данных. Потом этот дамп можно восстановить в другую базу, используя обычный консольный mysql-клиент (он так и называется mysql). В этом случае данные не будут пересылаться туда-обратно, все будет происходить на сервере.

Если нет доступа по ssh, нельзя пользовать mysqldump, mysql, и.т.д., то можно использовать либо phpMyAdmin либо свой скрипт.

При помощи phpMyAdmin можно получить дамп бд или отдельной нужной таблицы, и потом восстановить его в другой бд. Недостатки - дамп сначала придется сохранить на свой комп (пересылка данных), а потом снова отослать на сервер (2-я пересылка). Сгодится для небольших объемов.
Или же можно в phpMyAdmin (или из своего скрипта, если нет phpMyAdmin) попробовать выполнить запрос типа:
Код:
INSERT INTO
DestDB.dbo.имя_целевой_таблицы
(
имя_поля_0,
имя_поля_1,
...
)
SELECT
имя_поля_0,
имя_поля_1,
...
FROM
SrcDB.dbo.имя_таблицы_источника
WHERE
условие_отбора

Здесь SrcDB - имя базы данных, являющейся источником, DestDB - имя базы данных, являющейся приемником.
Вроде, в mysql должен пройти такой запрос (insert-into-select).
Преимущества - можно ограничить выборку, по условиям изменить значения полей добавляемых записей (например, использовать case), и.т.д.

Есть еще штуки типа sypex.net - для больших бекапов.
« Последнее редактирование: 28 Июль 2010, 20:37:50 от 3V » Записан

DIANA
Интересующийся
**
Офлайн Офлайн

Сообщений: 18


Дипигала


Просмотр профиля WWW
« Ответ #2 : 29 Июль 2010, 09:52:25 »

спасибо:)
Записан

Дипигала
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!