Автор Тема: Как загрузить только одну таблицу в БД используя SSH  (Прочитано 4748 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн a@mail.dux.ru

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 105
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Есть у меня здоровый, по размеру, damp одной из таблиц моей базы данных. Хочу его загрузить на сервак.

по phpmyadmin - не выходит. здоровая таблица. не успевает прогрузится

не совсем понимаю как это сделать через ssh (пользуюсь putty , если можно так назвать. так как только установил и смог закконектится на сервер. Вот и все мои навыки)


нашел на форуме такую строку:
mysql -u[user] -p[password] [Databasename] < [имя файла]

но не понимаю, куда ее вписать в ssh / Прямо в командную строку или как?

И эта строка подразумевает загрузку всей базы данных, а у меня нужно загрузить только одну таблицу.
Кстати, нужно ли удалять старую версию таблицы, которую я хочу заменить?

И еще:
[имя файла] - от какого места указывать путь

Спасибо

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
man mysql
man bash
2B OR NOT 2B = FF

Оффлайн Croaker

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 927
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alex-files.ru
Цитировать
a@mail.dux.ru:
Прямо в командную строку или как?


В командную строку.
Цитировать
a@mail.dux.ru:
И эта строка подразумевает загрузку всей базы данных, а у меня нужно загрузить только одну таблицу.


Тебе надо понять - что такое дамп. Дамп - это просто список запросов, хранящихся в текстовом файле, выполнение которых приведет к созданию и заполнению базы данных.

2 ключевых слова - список запросов.

Если ты хочешь создать только одну таблицу, выбери из дампа только те запросы, которые относятся к нужной таблице и сохрани в другой файл. У тебя получится дамп нужной таблицы.


Цитировать
a@mail.dux.ru:
Кстати, нужно ли удалять старую версию таблицы, которую я хочу заменить?


Нужно. Только аккуратно, и желательно при этом сделать ее дамп.


Цитировать
a@mail.dux.ru:
[имя файла] - от какого места указывать путь


От того каталога в котором ты находишься.
Не все коту матрица.

Оффлайн a@mail.dux.ru

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 105
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Croaker

Спасибо за развернутый ответ. Все прояснилось. Пошел пробовать.

Странно только что из php я не могу делать то же самое.
Правда есть там некая функция infile но она имеет проблемы с некоторыми символами текста и требует доп настроек (сначала закомментировать все кавычки и тд..) :(

Оффлайн a@mail.dux.ru

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 105
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Господа! Извините, что возвращаюсь к старой теме, но у меня не получается :(

вот например:

Логин: mylog
password: mypass
DB: mydbname
file: myfile.sql

я написал вот так:
mysql -u mylog -p mypass mydbname < myfile.sql

но не получилось.
пробовал писать в [] тоже не вышло.
Файл на месте. и указываю его правильно (это единственное, в чем я разобрался :) )

 Подскажите, пожалуйста, что не так делаю
 Спасибо

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
mysql -u mylog -p mypass mydbname < ./myfile.sql
А диагностика какая?
2B OR NOT 2B = FF

Оффлайн Croaker

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 927
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alex-files.ru
между
Цитировать
a@mail.dux.ru:
-u mylog

и между
Цитировать
a@mail.dux.ru:
-p mypass


пробелы не нужны.
Не все коту матрица.

Оффлайн a@mail.dux.ru

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 105
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Croaker не сразу догадался как это, без пробелов :).


Chs
./ - символ "/" мне вообще ввести не удалось.

в общем правильно вот так:
mysql -umylog -pmypass mydbname < myfile.sql
Croaker, спасибо

Однако это не совсем мне помогло :) у провайдера MySQL на другой машине стоит.
так что пришлось дополнить строку еще и указанием хостаГде размещена база данных (ProvSQLhostname )
вышло:
mysql -hProvSQLhostname -umylog -pmypass mydbname < myfile.sql

Спасибо всем

Оффлайн a@mail.dux.ru

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 105
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
А не подскажете еще гда взять паковщик для gzip для Windows?
а то большой демп приятнее упаковать и закачать на сервер.
Нашел какой-то http://www.gzip.org/ Но сайт так выглядит, что с него страшно чего-либо скачивать. Или это и есть разработчитки программы gzip?
Спасибо еще раз.

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
a@mail.dux.ru тебе шашечки или ехать?
The documentations is your friend

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28