Страницы

четверг, 10 октября 2019 г.

Хорошая шпора по mysqldump


Делаем бекап
mysqldump -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql

Создаём структуру базы без данных
mysqldump --no-data - u USER -pPASSWORD DATABASE > /path/to/file/schema.sql

Если нужно сделать дамп только одной или нескольких таблиц
mysqldump -u USER -pPASSWORD DATABASE TABLE1 TABLE2 TABLE3 > /path/to/file/dump_table.sql

Создаём бекап и сразу его архивируем
mysqldump -u USER -pPASSWORD DATABASE | gzip > /path/to/outputfile.sql.gz

Создание бекапа с указанием его даты
mysqldump -u USER -pPASSWORD DATABASE | gzip > `date +/path/to/outputfile.sql.%Y%m%d.%H%M%S.gz`

Заливаем бекап в базу данных
mysql -u USER -pPASSWORD DATABASE < /path/to/dump.sql

Заливаем архив бекапа в базу
gunzip < /path/to/outputfile.sql.gz | mysql -u USER -pPASSWORD DATABASE
или так
zcat /path/to/outputfile.sql.gz | mysql -u USER -pPASSWORD DATABASE

Создаём новую базу данных
mysqladmin -u USER -pPASSWORD create NEWDATABASE

Удобно использовать бекап с дополнительными опциями -Q -c -e, т.е.
mysqldump -Q -c -e -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql, где:
  • -Q оборачивает имена обратными кавычками
  • -c делает полную вставку, включая имена колонок
  • -e делает расширенную вставку. Итоговый файл получается меньше и делается он чуть быстрее


Для просмотра списка баз данных можно использовать команду:
mysqlshow -u USER -pPASSWORD

А так же можно посмотреть список таблиц базы:
mysqlshow -u USER -pPASSWORD DATABASE

Для таблиц InnoDB надо добавлять --single-transaction, это гарантирует целостность данных бекапа.
Для таблиц MyISAN это не актуально, ибо они не поддерживают транзакционность.

Подробнее

Общие факты


  • Полезно под каждую базу на боевом сервере создавать своего пользователя
  • Кодировка базы может быть любой, если она UTF8
  • В большинстве случаев лучше использовать движок InnoDB
  • В php лучше забыть про сильно устаревшее расширение mysql и по-возможности использовать pdo или mysqli
  • Новую копию MySQL всегда можно настроить и оптимизировать
  • Без особой нужды не стоит открывать MySQL наружу. Вместо этого можно сделать проброс портов
    ssh -fNL LOCAL_PORT:localhost:3306 REMOTE_USER@REMOTE_HOST

среда, 1 июня 2016 г.

Чем раньше поймем, тем лучше




1.Страшно всем. И красивым, и талантливым, и умным, и везучим. Начинать новое. Выходить из привычного круга. Рисковать. Делать что-то, к чему еще не привык. Страшно за близких. За дело. За свою жизнь, если прижмет. И много чего еще. Страх будет и дальше. Сколько бы ни было опыта, практики, уверенности, признания, денег, таланта, но каждый раз замахиваясь на новую высоту, каждый раз выходя на сцену, каждый раз, оборачиваясь на близких — в той или иной степени будет страх. Это нормально. Это значит, что ты еще жив. И значит, нужно идти вперед. Через страх. А не пытаться полностью от него избавиться.


понедельник, 8 февраля 2016 г.

BAD Practice

               Я часто себя корю за то, что наворачиваю в класс модели всякой функциональности, которой там быть не должно и потом страааааадаю. И тут зашел  я на новый большой проект, думаю куда же засунули ресайз картинок нет...нет...нет....даааа именно в модели... именно в models.py... Что плохого....ничего только Models.py огроменный....А фундамент хорошего кода это когда файл не огроменный.....6к строк это занадто....никто не убедит меня что это правильно НИКТО....Модель это представление данных....

Делайте абстракции над ними, паттерны придумали не идиоты....
Менеджеры, Фабрики в конце концов делайте, а еще можно делать Классы полей типа MyImageFieldUrlFoo....
Мне больно разбираться со своими моделями, мне больно разбираться с файлами на 10к строк...Все должно быть просто, модели тоже должны оставаться моделями, а не коровами с пропеллерами, которые умеют файлы ресайзить...

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


пятница, 5 февраля 2016 г.

Еще один линк, который должен иметь каждый программер на стенке


http://bigocheatsheet.com/ - список сложностей разных структур данных и алгоритмов.

Сложность удаление, вставки, сортировки, добавления....



вторник, 27 октября 2015 г.

Лео и Оскар....


Тема жуется, жуется,жуется...Не будем принимать ничью сторону...потому что неблагодарное дело, особенно сейчас...Зато обратим на один из коментов: 

"Ну десятки блистательных актёров обходились без грима и насилия над здоровьем (ну если только ментальным) создавая блистательные образы, отмеченные оскарами и ставшие вехами в актёрском ремесле. Николсон, Хэкмен, Хопкинс, Шелл, Гиннесс, Уокен и многие другие. И в то же время неузнаваемость не всегда приносим заслуженную статуэтку — Орсон Уэллс был великолепен в «Гражданине Кейне», Питер О«Тул — в „Правящем классе“ и „Человеке из Ламанчи“, но золотых болванчиков за свои роли они так и не получили.

По ходу составил себе список фильмов для просмотра...

суббота, 10 октября 2015 г.

Сегодня я буду отдыхать

          Мы довольно не оригинальны, в своем желании быть оригинальными, вы не находите?
Написал новый рассказ, который назвал Лес. К чему я это?! Забавно наблюдать, как поглощаясь каким-то делом ты перестаешь быть тем человеком, которым был вчера. Вот
сегодня я программист, а вчера я судорожно в два часа ночи следил за своими героями, и выстраивал их жизни, сопереживал им. И вот этот программист  уже не хочет никуда деваться от своей повседневной жизни, он только что сам вернулся из путешествия. И ему наверно даже пофиг, что рассказ, который потребовал от него столько усилий, прочтут только самые близкие ему люди. КПД кажется нулевым, но на несколько недель он был в другом мире, после этих недель пришло облегчение. Я уже давно не молод, уже понимаю что некоторые вещи мне не понять,  а некоторые вещи не понять моим друзьям. К сожелению люди стали продуктом быстрого употребления. Наверно так и должно быть.  Я вернулся из путешествия, а смысл я придумаю позже

пятница, 12 июня 2015 г.

Python и import модулей

Алгоритм импорта модуля

pep-3147-1.png