• MySQL полезные команды

    Делаем резервную копию базы данных:

    mysqldump -u USER -p PASSWORD DATABASE > /path/to/file/dump.sql

    Создаём структуру базы без данных

    mysqldump --no-data - u USER -p PASSWORD DATABASE > /path/to/file/schema.sql

    Если нужно сделать дамп только одной или нескольких таблиц:

    mysqldump -u USER -p PASSWORD DATABASE TABLE1 TABLE2 TABLE3 > /path/to/file/dump_table.sql

    Создаём резервную копию базы данных и сразу архивируем ее:

    mysqldump -u USER -p PASSWORD DATABASE | gzip > /path/to/outputfile.sql.gz

    Создание резервной копии с указанием даты:

    mysqldump -u USER --password='PASSWORD' DATABASE | gzip > /path/to/`date +%Y-%m-%d`-outputfile.sql.gz

    Восстанавливаем резервную копию базы данных с указанием кодировки:

    mysql -u USER --password='PASSWORD' --default-character-set=utf8 DATABASE < /usr/local/dump.sql

    Удобно использовать резервное копирование с дополнительными опциями -Q -c -e:

    mysqldump -Q -c -e -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql

    где:
    -Q оборачивает имена обратными кавычками
    -c делает полную вставку, включая имена колонок
    -e делает расширенную вставку. Итоговый файл получается меньше и делается он чуть быстрее

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

    mysqlshow -u USER -p PASSWORD

    А так же можно посмотреть список таблиц базы:

    mysqlshow -u USER -p PASSWORD DATABASE

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

    Categories: FreeBSD, MySQL

    Метки: ,

    Добавить комментарий

    Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.