|
|
|
| Подскажите, пожалуйста, как дамп таблицы обратно сделать таблицей.
Я создал дамп через PMA получился файл mytab.sql.gz
Закачал его.
Теперь мне его надо разархивировать, или утилита mysql это сама умеет?
Вот я ей пишу:
mysql> USE MyBase
А дальше фантазии не хватает....
подскажите, что писать | |
|
|
|
|
|
|
|
для: Eugene77
(11.02.2010 в 16:51)
| | Нет, mysql его не распакует, это нужно до запуска mysql делать, при помощи утилиты tar
| |
|
|
|
|
|
|
|
для: cheops
(12.02.2010 в 12:35)
| | Может всё же gzip , а не tar ?
gzip -cd mytab.sql.gz | mysql -h hostname -u user -Ppassword myBase
|
| |
|
|
|
|
|
|
|
для: Trianon
(12.02.2010 в 12:45)
| | -z автоматически включит gzip | |
|
|
|
|
|
|
|
для: Trianon
(12.02.2010 в 12:45)
| |
$ gzip -cd mytab.sql.gz | mysql -h localhost -PYyyyyy myBase
|
Unknown suffix 'Y' used for variable 'port' (value 'YYyyyyy')
mysql: Error while setting value 'Yyyyyy' to 'port'
|
| |
|
|
|
|
|
|
|
для: Eugene77
(12.02.2010 в 18:00)
| | Это Вы к тому, что я ошибся в названии параметра?
Да, вполне возможно.
Нет, не со зла, а [совершенно непреднамеренно, не смотря на то, что в конечном итоге] исключительно Вам на пользу. | |
|
|
|
|
|
|
|
для: Trianon
(12.02.2010 в 18:03)
| | >Это Вы к тому, что я ошибся в названии параметра?
>Да, вполне возможно.
>Нет, не со зла, а [совершенно непреднамеренно, не смотря на то, что в конечном итоге] исключительно Вам на пользу.
Пользу можно увидеть во всём, но если подходить прагматично, то я так и не пойму возможно ли одновременно коннектится к базе и отдавать ей на обработку дамп?
Или это надо организовывать отдельными строками в Командном файле?
Хм... а какое расширение в Линуксе у командных файлов? .bat или .cmd ? | |
|
|
|
|
|
|
|
для: Eugene77
(12.02.2010 в 18:36)
| | >Хм... а какое расширение в Линуксе у командных файлов? .bat или .cmd ?
Расширение не принято указывать, так как статус исполняемого файла задается правами доступа, а обработчик "ши-бенгом", т.е. расширение, в отличие от Windows, никакой роли не играет. | |
|
|
|
|
|
|
|
для: cheops
(12.02.2010 в 19:12)
| | Как же тогда создать пакетный файл?
Впрочем, пока не до пакетного файла.
Даже один единственный дамп не могу скормить mysql | |
|
|
|
|
|
|
|
для: Eugene77
(12.02.2010 в 18:36)
| | >то я так и не пойму возможно ли одновременно коннектится к базе и отдавать ей на обработку дамп?
Пропустил этот ответ. Прошу прощения .
Коннектиться можно и нужно. и я даже показал, как.
>Или это надо организовывать отдельными строками в Командном файле?
Никаких отдельных строк не требуется.
Но перед тем, как совать строки в команлдный файл, стоит попечатать их с клавиатуры.
Во избежание неожиданных срывов, вроде cannot connect
>Пользу можно увидеть во всём, но если подходить прагматично,
Вы МНЕ предлагаете прагматично подойти? | |
|
|
|
|
|
|
|
для: Trianon
(12.02.2010 в 20:08)
| | >Вы МНЕ предлагаете прагматично подойти?
Я всего лишь прошу вас убрать из задачи одну переменную:
Пока их две:
1) Либо я я не разобрался как писать обращение к утилите
либо
2) Что-то в настройках утилиты не то (возможно ошибка в каких-то данных которые я подставляю)
Как тут разобраться? Ну, подскажите, если у вас идея лучше есть...
Но я думаю, что лучше всего проверить на заведомо правильном запросе. | |
|
|
|
|
|
|
|
для: Eugene77
(12.02.2010 в 20:35)
| | >Я всего лишь прошу вас убрать из задачи одну переменную:Пока их две:
>1) Либо я я не разобрался как писать обращение к утилите либо
>2) Что-то в настройках утилиты не то (возможно ошибка в каких-то данных которые я подставляю)
Так и (2) и (1) вероятно.
Из-за того, что в настройках утилиты что-то не то ( к примеру - заблокирован протокол связи по TCP/IP (3306 порт) а оставлен лишь протокол связи через именованные транспортеры (named pipes) . Или сервер фактически не на localhost, а на некоем другом адресе, или ... всё это вопросы администрёжа сервера SQL и помочь тут может только сисадмин ) - из-за этого что-то не то, Вы не смогли разобраться в том, как писать обращение.
командная строка, которую я показал - это никакой не запрос.
Это лишь вызов программы с параметрами подключения.
Но и они должны быть адекватны ожиданиям сервера. | |
|
|
|
|
|
|
|
для: Trianon
(12.02.2010 в 20:52)
| | >Из-за того, что в настройках утилиты что-то не то ( к примеру - заблокирован протокол связи по TCP/IP (3306 порт) а оставлен лишь протокол связи через именованные транспортеры (named pipes) .
А можно как то дамп в трубу кинуть?
что-то файл_дампа | mysql ...
Или сервер фактически не на localhost, а на некоем другом адресе, или ... всё это вопросы администрёжа сервера SQL и помочь тут может только сисадмин ) - из-за этого что-то не то, Вы не смогли разобраться в том, как писать обращение.
Так вот я и прошу вас написать такое обращение, которое не показалось бы админу бредовым.
Я ему предъявлю тогда обоснованную претензию - должно работать, а не работает.
>Но и они должны быть адекватны ожиданиям сервера.
Мне никто не сообщал о каких-т особенностях в настройке сервера.
Поэтому я вправе удивляться что не работает при настройках по умолчанию. | |
|
|
|
|
|
|
|
для: Eugene77
(12.02.2010 в 21:13)
| | >из-за этого что-то не то, Вы не смогли разобраться в том, как писать обращение.
Обращение - команда клиента mysql / а не петиция админу :)
>Так вот я и прошу вас написать такое обращение, которое не показалось бы админу бредовым.
Меня-то почему? Дока есть.
так и напишите.
Пытаюсь подключиться путем команды
mysql -h localhost -P 3306 -u username -pПАРОЛЬ ИМЯБД
Выводит то-то и то-то. Что я делаю не так?
>А можно как то дамп в трубу кинуть?
>что-то файл_дампа | mysql ...
я и показал, как . gzip -cd файл.sql.gz | mysql -h localhost ...
Если из раззипованного файла mysql <файл.sql.gz -h localhost ... | |
|
|
|
|
|
|
|
для: Trianon
(12.02.2010 в 21:31)
| | Спасибо!
Зря я к вам пристал.
Админ к утру отремонтировал утилиту. | |
|
|
|
|
|
|
|
для: Eugene77
(13.02.2010 в 08:27)
| | И неужто дамп подняли? | |
|
|
|
|
|
|
|
для: Trianon
(13.02.2010 в 08:34)
| | >И неужто дамп подняли?
Парочку дампов поднял, но надоело писать для каждого файла такую длинную строку вручную. | |
|
|
|
|
|
|
|
для: Eugene77
(13.02.2010 в 20:03)
| | C Вашим уровнем прагматики я б в редакторе из списка файлов давно сделал файл с командами, и скормил бы его шеллу, башу, или кто там голодный...
Сделал бы у себя на локальной виндовой тачке. В любимом редакторе.
С помощью php наконец. Да хоть блокнотом тем же.
Скармливал бы, само собой, на сервере. | |
|
|
|
|
|
|
|
для: Trianon
(13.02.2010 в 20:16)
| | Я бы тоже так сделал, если бы торопился, но эти табицы раньше следующей недели мне всё одно не потребуются. А с Линуксом надо (как бы лень ни было) разбираться. - это раз.
Но это не вся правда.
2) Если бы вы читали эту тему внимательней, то могли бы заметить, что я в недоумении спрашивал как надо оформить файл, чтобы его БАШ скушал. Под винд. я просто добавляю расширение .cmd а под Линукс?
3) Хоть я и пишу выше, что мне лень мешает разобраться с Линуксом, - это неправда. Я с удовольствием учусь практически чему угодно. Мне всегда это доставляет искреннее удовольствие. Но так можно просидеть за книгами всю жизнь... Поэтому я натягиваю на себя маску прагматика и ищу быстрые решения технических проблем, чтобы оставить больше времени для реализации тех идей, ради которых я вообще взялся изучать РНР. (Это я к тому, чтобы вы не судили меня строго за то, что я спрашиваю то, в чём, на ваш взгляд, мог бы и сам разобраться... чтобы спросить мне пришлось перебороть в себе это желание самостоятельно разобраться) Не знаю даже понятно ли я объяснил... | |
|
|
|
|
|
|
|
для: Eugene77
(14.02.2010 в 17:17)
| | Первой строкой ставят что-то вроде (путь нужно уточнить)
А на сам файл ставят права исполнения ( chmod 740 )
Судить Вас мне в голову не пришло, и не придет.
А вот оценивать получается не по одному вопросу, а по всей массе за не один уж год.
Так что не взыщите... | |
|
|
|
|
|
|
|
для: Eugene77
(12.02.2010 в 18:00)
| | Когда правильно пишу параметр, тоже не получается
>
$ gzip -cd mytab.sql.gz | mysql -h localhost -pYyyyyy myBase
|
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (61)
|
| |
|
|
|
|
|
|
|
для: Eugene77
(12.02.2010 в 18:13)
| | Разве сперва не стоит попробовать получить что-то осмысленное от mysql безо всякого gzip? | |
|
|
|
|
|
|
|
для: Trianon
(12.02.2010 в 18:16)
| | >Разве сперва не стоит попробовать получить что-то осмысленное от mysql безо всякого gzip?
осмысленное получил:
$ mysql -u этоЯ -p Пароль База
|
| |
|
|
|
|
|
|
|
для: Eugene77
(12.02.2010 в 18:39)
| | Вот так точно неправильно.
Между -p и паролем пробела быть не должно. | |
|
|
|
|
|
|
|
для: Trianon
(12.02.2010 в 18:42)
| | >Вот так точно неправильно.
>Между -p и паролем пробела быть не должно.
Без пробела всё та же ошибка
Впрочем приглашение не меняется с $ на sql>
Подозрительно... | |
|
|
|
|
|
|
|
для: Eugene77
(12.02.2010 в 18:55)
| | Не верю.
С пробелом пароль запрашивается из входного потока ( с клавиатуры консоли) А лексема пароля воспринимается как имя БД.
Без пробела - берется из командной строки.
>Впрочем приглашение не меняется с $ на sql>
>Подозрительно...
Оставьте.
Не Ваше это.
Да и не мое, по большому счету. | |
|
|
|
|
|
|
|
для: Trianon
(12.02.2010 в 19:02)
| | >Оставьте.
>Не Ваше это.
>Да и не мое, по большому счету.
Я бы с удовольствием, но как тогда большой дамп в таблицу превратить? | |
|
|
|
|
|
|
|
для: Eugene77
(12.02.2010 в 19:22)
| | превратите маленький. | |
|
|
|
|
|
|
|
для: Trianon
(12.02.2010 в 19:30)
| | >превратите маленький.
Не могу. (по моей просьбе не мной)
Дамп уже загружен на сервер, а загрузить его заново у меня возможностей канала связи не хватит. | |
|
|
|
|
|
|
|
для: Eugene77
(12.02.2010 в 19:43)
| | Тогда может быть стоит поучиться запускать командно-строчный клиент mysql.exe ?
Сперва на локальной машине в одиночку.
Потом в связке с файлом.
Потом в связке с gzip (возможно , потребуется найти сам gzip.exe)
Потом на сервере в одиночку.
Потом в связке - с небольшим файлом.
Ы?
...Даже один единственный. ... | |
|
|
|
|
|
|
|
для: Trianon
(12.02.2010 в 19:49)
| | На локальной машине у меня получилось.
Простые команды типа USE DB выполнил
Но как скормить ему дамп - не понял
А на сервере не получается даже приглашения добиться.
Поэтому и прошу вас написать мне не в общих чертах, а реально работающий, проверенный пример. | |
|
|
|
|
|
|
|
для: Eugene77
(12.02.2010 в 19:55)
| | >Но как скормить ему дамп - не понял
Какой командой пробовали?
>А на сервере не получается даже приглашения добиться.
А без параметров на сервере Вы его запускали?
Отклик читали?
>Поэтому и прошу вас написать мне не в общих чертах, а реально работающий, проверенный пример.
Даже не мечтайте. По больщому счету, я вообще Хеопсу отвечал. | |
|
|
|
|
|
|
|
для: Trianon
(12.02.2010 в 20:00)
| | mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (61) | |
|
|
|
|
|
|
|
для: Eugene77
(12.02.2010 в 20:05)
| | и Вы уверены что host , user , password, port и протокол коннекта - именно те, что хостер дал Вам для локального подключения ? | |
|
|
|
|
|
|
|
для: Trianon
(12.02.2010 в 20:11)
| | >и Вы уверены что host , user , password, port и протокол коннекта - именно те, что хостер дал Вам для локального подключения ?
А как мне проверить?
Вы напишите мне работающий пример, я подставлю туда свои данные - тогда видно станет. | |
|
|
|
|
|
|
|
для: Trianon
(12.02.2010 в 20:11)
| | Дело в том, что локально я просто перенаправил значком < данные из файла в утилиту.
Но под Линуксом такой приём не проходит. А как указать файл дампа правильным образом - я не знаю. | |
|
|
|
|
|
|
|
для: Trianon
(12.02.2010 в 20:11)
| | >и Вы уверены что host , user , password, port и протокол коннекта - именно те, что хостер дал Вам для локального подключения ?
user , password - могут разве отличаться от тго, что я использую в своих скриптах? | |
|
|
|
|
|
|
|
для: Trianon
(12.02.2010 в 12:45)
| | >
>gzip -cd mytab.sql.gz | mysql -h hostname -u user -Ppassword myBase
>
|
А если в директории лежат только дампы нужных таблиц и больше ничего, можно так сделать?:
ls | gzip -cd mytab.sql.gz | mysql -h hostname -u user -Ppassword myBase
|
| |
|
|
|
|
|
|
|
для: Eugene77
(11.02.2010 в 16:51)
| | >Я создал дамп через PMA получился файл mytab.sql.gz
Повезло.
Могло выйти вообще что-нибудь непотребное. | |
|
|
|