Сообщения

Экспорт одной таблицы базы данных или mysqldump одной таблицы (MySQL)

Как экспортировать одну таблицу из базы данных MySQL, используя mysqldump Например, Вам нужно произвести экспорт всего одной таблицы из всей базы данных MySQL, существует довольно простая утилита mysqldump . Синтаксис довольно прост: mysqldump --user= [имя пользователя]  --host= [имя хоста или ip-адрес]  --password= [пароль] [имя базы данных] [имя таблицы] > имя-файла.sql Например: mysqldump --user-root --host=127.0.0.1 --pasword=mypassword mydbname table1 > report1.sql Вот и все, все оказалось просто. Весь дамп текущей таблицы, будет находиться в файле: report1.sql Экспорт структуры таблицы MySQL Если Вам нужно экспортировать только структуру таблицы базы данных, а сами данные не нужны, то нужно просто добавить флаг --no-data . Вот пример: mysqldump --user-root --host=127.0.0.1 --pasword=mypassword --no-data mydbname table1 > report2.sql Теперь в файле report2.sql будет только структура таблицы table1. Экспорт несколь...

Выборка относительно уникальных строк из файла (Unix,Linux)

Уникальные строки из файла Допустим, у Вас есть лог-файл, куда записываются различного рода операции,В данном случае ошибка #18956. В этом файле присутствует всего два различных значения: это дата ошибки и логин пользователя . Пример файла: [17-Oct-2012 01:32:29] ERROR! ERR-CODE=18956, login= Gonshik1 [17-Oct-2012 02:32:56] ERROR! ERR-CODE=18956, login=Gonshik1 [17-Oct-2012 13:15:50] ERROR! ERR-CODE=18956, login=Gonshik1 [17-Oct-2012 13:41:19] ERROR! ERR-CODE=18956, login=Gonshik1 [18-Oct-2012 09:57:22] ERROR! ERR-CODE=18956, login=Gonshik1 [18-Oct-2012 10:04:10] ERROR! ERR-CODE=18956, login=Gonshik1 [18-Oct-2012 10:08:46] ERROR! ERR-CODE=18956, login=Gonshik1 [18-Oct-2012 10:18:20] ERROR! ERR-CODE=18956, login=Gonshik1 [18-Oct-2012 10:45:47] ERROR! ERR-CODE=18956, login=Gonshik1 [18-Oct-2012 14:28:36] ERROR! ERR-CODE=18956, login=Gonshik1 [18-Oct-2012 15:22:11] ERROR! ERR-CODE=18956, login=Gonshik1 [18-Oct-2012 16:07:16] ERROR! ERR-CODE=18956, login=Gonshik1 [18-O...

Нумерация строк в результате от grep

Как пронумеровать вывод результата поиска строк от grep в Linux/Unix Например, вы ищете слово "word" в файле file.txt Конечно, Вы используете команду grep для поиска этого слова в файле: grep "word" file.txt Результат будет приблизительно таким: It's my word word as word World is'not word А Вам хочется узнать количество строк и вместе с тем вывести все результаты на печать. В это Вам поможет команда cat с параметром -n . Вот как будет выглядеть полный код: grep "word" file.txt | cat -n И результат поиска будет следующим: It's my word word as word World is'not word Все очень просто, не правда ли? Всем спасибо за внимание. unix, linux, grep, cat

Linux: вывести на печать определенные строки (bash, linux)

Всем привет. Например, Вам нужно вывести на печать определенные строки. Будь то в файл или на экран. Надеюсь Вы уже знаете как найти нужные Вам строки. Если нет, то подскажу, для этого Вам поможет команда grep  и egrep.  А вывести нужные строки на экран, Вам поможет функция  sed. Вывод на печать определенные строки Например Вам нужно вывести 100-120 строки на экран: sed -n '100,120p' some_file.txt (вывести на печатать строки с 100 по 120) Есть немного измененный вариант, который работает немного быстрее: sed -n '121q;100,120p' some_file.txt Ну вот и все, ах да. Если вы хотите вывести определенные строки в файл , то вам нужно в конце просто добавить:  > res_file.txt Вышеуказанный пример полностью будет выглядеть следующим образом: sed -n '121q;100,120p' file.txt > res_file.txt Вот и все. Теперь Вы умеете выводить нужные строки на печать или в файл . linux, bash

Как увеличить max_allowed_packet (Linux, Debian)

Нужно увеличить максимально возможный размер SQL-файла при его выполнении на сервере? Вам нужно изменить файл: my.cnf Откройте его:  nano /etc/mysql/my.cnf Увеличить  max_allowed_packet  Найдите там [mysqld]  на следующей строке добавьте: max_allowed_packet = 64M Если такая строка уже там существует, то просто измените размер (указывается в мегабайтах). После всего вышеперечисленного просто перезагрузите mysql-сервер: /etc/init.d/mysql restart mysql, linux, debian,  max_allowed_packet  

INSERT ... ON DUPLICATE KEY UPDATE или Как вставить строку если она не существует и обновить в противном случае (MySQL)

Добрый день ) Уважаемые программисты, наверняка каждый из Вас сталкивался с проблемой вставки данных в БД, если строки не существует и обновление ее, если таковая уже есть. Как вставить данные в базу данных MySQL, если их не существует и обновить в противном случае Наверняка Вы часто использовали конструкцию типа: $result  =  mysql_query ( "SELECT `uid`, `text` FROM `t_userinfo` WHERE `uid`='". $uid ."'" ); if ( mysql_num_rows ( $result ) >0 ) { // Если строка имеется, то обновляем    mysql_query ( "UPDATE `t_userinfo` SET `text`='". $newtext ."' WHERE `uid`='". $uid ."'" ) ; } else { // Если строки нет, то добавляем новое значение в БД    mysql_query ( "INSERT INTO `t_userinfo` SET `text`='". $newtext ."',`uid`='". $uid ."'" ) ; } Немного муторно, не правда ли? И производительность немного страдает, все таки столько действий. Допустим, что эта таб...

Архивация файлов или как запаковать и распаковать файлы в Linux

Всем привет ) Не буду писать длинные петиции вступления. Вот основные команды работы с архивами: Архив RAR Как запаковать файлы в rar или создать архив rar (rar-архив): rar a -m5 'имя нового архива' 'имя файла/папки' Имя файла и/или папки можно перечислять через запятую Как распаковать архив rar: unrar x 'имя архива.rar' Архив ZIP Как запаковать файлы в zip или создать архив zip (zip-архив): zip -r -9 'имя нового zip-архива' 'имя файла/папки' Как распаковать zip-архив: unzip 'имя zip-архива' Архив TAR Как запаковать файлы в tar или создать архив tar (tar-архив): tar -cvf 'имя нового tar-архива' 'имя файла/директории' Как распаковать tar-архив или извлечь файлы из tar-архива: tar -xf 'имя tar-архива' Архив GZIP / gz Как запаковать файлы в gz или создать архив gzip (gzip-архив): tar -zcvf 'имя нового gzip-архива' 'имя файла/директории' ...