powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Запихать текстовый файл из под shell в MySQL
25 сообщений из 52, страница 1 из 3
Запихать текстовый файл из под shell в MySQL
    #33054288
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сабж. Написал скрипт:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
sql_preffix="${mysql} --host=${IP_MySQL_servera} \
--user=${username} --password=${user_passw} --database=${database}"
# Stiraem dannie predidus4ego eksperimenta
${sql_preffix} --execute="DELETE from site_table"
i="0"
cd /tmp/tmp_dir/
ls | {
while read stroka
do
read text < ${stroka}
${sql_preffix} --execute="INSERT into site_table (id, text) \
VALUES ('$i', '${text}')"
i=`expr $i +  1 `
done
}
Он пихает только первые строки... А надо целиком... Сижу думаю. Уже час - а идей нет.... :(
...
Рейтинг: 0 / 0
Запихать текстовый файл из под shell в MySQL
    #33054310
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Итак, это обошли:)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
sql_preffix="${mysql} --host=${IP_MySQL_servera} \
--user=${username} --password=${user_passw} --database=${database}"
# Stiraem dannie predidus4ego eksperimenta
${sql_preffix} --execute="DELETE from site_table"
i="1"
cd /tmp/tmp_dir/
ls | {
while read stroka
do
text=`cat ${stroka}`
${sql_preffix} --execute="INSERT into site_table (id, text) \
VALUES ('$i', '${text}')"
i=`expr $i +  1 `
done
}

Всё прекрасно и великолепно.... Но. 50кб вставляется а вот 200 уже нет. Жалуется:
Код: plaintext
1.
/usr/local/bin/mysql: argument list too long

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Запихать текстовый файл из под shell в MySQL
    #33054326
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может с конфигами МуСКЛа чё не то?
Другие средства запихивают нормально?
...
Рейтинг: 0 / 0
Запихать текстовый файл из под shell в MySQL
    #33054345
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
phpMyAdmin пхает великолепно. Но извините - ждать по полчаса на моменте вставки в форму этого самого phpMyAdmin.... Несерьёзно.
Вообще, действительно странно - в поля таблицы можно загнать по чёрт знает сколько мегабайт а штатное средство для этого ругается....
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Запихать текстовый файл из под shell в MySQL
    #33054363
sanek842
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посм. лучше про команду mysql
load data infile 'имяфайла' into table site_table (text);
...
Рейтинг: 0 / 0
Запихать текстовый файл из под shell в MySQL
    #33054367
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lissyaraphpMyAdmin пхает великолепно. Но извините - ждать по полчаса на моменте вставки в форму этого самого phpMyAdmin.... Несерьёзно.
Вообще, действительно странно - в поля таблицы можно загнать по чёрт знает сколько мегабайт а штатное средство для этого ругается....
Posted via ActualForum NNTP Server 1.1
Shell, насколько я знаю, средство не стандартное. Стандартное, имхо, утилита mysql.
Она должна всегда работать. Абсолютно. Ну если mysqld работает нормально.
Если админ запихнул, значит с логами всё чики-пуки. Это шеловские лаги скорей всего.
...
Рейтинг: 0 / 0
Запихать текстовый файл из под shell в MySQL
    #33054372
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А из под shell я чем пихаю? :) Тем самым mysql...
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Запихать текстовый файл из под shell в MySQL
    #33054376
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 sanek842
Юмор оценил :)
Ещё идеи есть?
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Запихать текстовый файл из под shell в MySQL
    #33054377
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 снова sanek842
Может это и не юмор.... В-общем оно запихалось. Каждая строка отдельной записью.... :(
Код: plaintext
1.
2.
mysql --user=root --password=123456789 --database=test \
 --execute="load data infile '/tmp/tmp_dir/2.txt' into table site_table(text)"

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Запихать текстовый файл из под shell в MySQL
    #33054379
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то там разделитель можно указать. Но ты наверняка это знаешь.
Шел твой лагает. Жопой чую.
...
Рейтинг: 0 / 0
Запихать текстовый файл из под shell в MySQL
    #33054404
sanek842
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lissyara2 sanek842
Юмор оценил :)
Ещё идеи есть?
Posted via ActualForum NNTP Server 1.1
если нужно целиком файл , есть еще вроде ф-ия LOAD_FILE('имяфайла')
встав это в гугл или в форум по mysql, будет пример
...
Рейтинг: 0 / 0
Запихать текстовый файл из под shell в MySQL
    #33054435
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 sanek842
Это если картинку например пхать в БД...
2 Sarin
с разделителями не хочет на синтаксис материться - причём синтаксис содран из примера на http://dev.mysql.com/doc/mysql/en/load-data.html
Код: plaintext
1.
2.
3.
/home/admin/>mysql --user=root --password=16913169 --database=test_books \
 --execute="load data infile '/tmp/tmp_dir/books/2.txt' into table site_table(text) \
FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'"
Ругается:
Код: plaintext
1.
2.
3.
ERROR  1064  at line  1 : You have an error in your SQL syntax.  Check the manual that 
corresponds to your MySQL server version for the right syntax to use near 'FIELDS 
TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'' at li

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Запихать текстовый файл из под shell в MySQL
    #33054536
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я точно не помню. Я МуСКЛ давно юзал. Но там разделитель есть вроде и по полям и по записи. Попробуй не \t, а ; например.
...
Рейтинг: 0 / 0
Запихать текстовый файл из под shell в MySQL
    #33054542
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да я по разному пробовал. Он на саму попытку разделителя ругается. Хотя, как писал всято с сайта MySQL
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Запихать текстовый файл из под shell в MySQL
    #33054618
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй выкинуть таблицу из мускла в файл текстовый. А потом из этого файла назад в мускл. Что ещё посоветовать? Ну попробуй дамп сам написать.
...
Рейтинг: 0 / 0
Запихать текстовый файл из под shell в MySQL
    #33054622
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lissyara
Код: plaintext
1.
2.
3.
/home/admin/>mysql --user=root --password=16913169 --database=test_books \
 --execute="load data infile '/tmp/tmp_dir/books/2.txt' into table site_table(text) \
FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'"

Слушай, извини за глупый вопрос, но ты пробовал без этой байды: --execute=, а дождаться приглашение нормального и где в этой замечательной команде ты выбрал базу данных?

Ну типа так:
>use MyBase;
Database chenged
>load data infile '/tmp/tmp_dir/books/2.txt' into table site_table(text) FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\';
Querry Ok.
...
Рейтинг: 0 / 0
Запихать текстовый файл из под shell в MySQL
    #33054624
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да проблема как раз с количеством и размером - файлов полторы сотни от 20 кб до 5 mb.... Очень тяжко редактировать все, особенно большие - машина слабая, тормозит....
С дампом и сам думал - видимо к нему и придётся вернуться....
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Запихать текстовый файл из под shell в MySQL
    #33054626
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lissyaraДа проблема как раз с количеством и размером - файлов полторы сотни от 20 кб до 5 mb.... Очень тяжко редактировать все, особенно большие - машина слабая, тормозит....
С дампом и сам думал - видимо к нему и придётся вернуться....
Posted via ActualForum NNTP Server 1.1
Скрипт на Перле напиши. Запусти и пойди чай пить. Или кофе
...
Рейтинг: 0 / 0
Запихать текстовый файл из под shell в MySQL
    #33054627
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да нафига мне приглашение-то нормальное? Я ж автоматизировать хочу. Коли уж приглашение - так и через phpMyAdmin накрайняк вставлю....
Мне как раз без приглашений - на потоке надо. А тут кажись без --execute= никак....
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Запихать текстовый файл из под shell в MySQL
    #33054629
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я ещё под виндой когда жил у меня подобные задачи вставали. Я их на PHP решал. Попробуй. Уж лучше чем PHP с МуСКЛом мало кто дружит.
...
Рейтинг: 0 / 0
Запихать текстовый файл из под shell в MySQL
    #33054630
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я перл не знаю.
Потому на shell и пишу. Мне как-то shell ближе. Мутный он какой-то (perl)....

P.S. В плане - скрипт? Чтоб из текстовых файлов дампы делал и в БД их пихал?
Идея тоже.... Только надо обмозговать как вначало файла что-то дописывать.... Да и переводы строки надо б заменить на \n....
Короче - пока есть как поразвлекаться :)
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Запихать текстовый файл из под shell в MySQL
    #33054631
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот php я тока начал осваивать... Но - тоже идея.
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Запихать текстовый файл из под shell в MySQL
    #33054639
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Слушай, я Перл сам уже не помню (смеятся будешь, но я его под виндой юзал) но там замена \t на чтонибудь делается настолько просто, нfсколько представить себе низя.
Алгоритм прост:

Открываем файл для чтения
Открываем файл для записи
Пишем в файл для записи необходимый заголовок.
Читаем файл для чтения в массив
пока массив {
Разделяем строку(элемент массива) по символам \t на массив другой.
Пишем полученный массив в файл соответствующим образом переделав
}
Закрываем первый файл
Закрываем фторой файл.

Я просто команд не помню. Но каждая строка в моём алгоритме - соответствующая стандартная функция Перла.
...
Рейтинг: 0 / 0
Запихать текстовый файл из под shell в MySQL
    #33054642
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lissyaraА вот php я тока начал осваивать... Но - тоже идея.
Posted via ActualForum NNTP Server 1.1
PHP пожалуй даже лучше. Не надо будет дамп скармливать. Хотя скриптик сложнее будет.

ЗЫ: Перл тоже с МуСКЛом дружит. Но это ОЧЕНЬ геморойно. Я из за мускла с Перла на ПХП в своё время пересел.
...
Рейтинг: 0 / 0
Запихать текстовый файл из под shell в MySQL
    #33054647
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Слушай, а кинь ка структуру таблици и образец записи в текстовом файле. В общем задучу поставь. Может скриптом помогу.

Если не тайна конечно.
...
Рейтинг: 0 / 0
25 сообщений из 52, страница 1 из 3
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Запихать текстовый файл из под shell в MySQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]