Инструменты пользователя

Инструменты сайта


kak_behkapit_dannye_v_mysql

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

kak_behkapit_dannye_v_mysql [2015/11/10 11:43]
kak_behkapit_dannye_v_mysql [2020/06/13 13:45] (текущий)
Строка 1: Строка 1:
 +====== Как бэкапить данные в MySQL ======
 +{{htmlmetatags>
 +metatag-description=(Создание резервной копии и восстановление базы данных MySQL.)
 +}}
 +{{ ::sozdanie_rezervnoj_kopii_i_vosstanovlenie_bazy_dannyx_mysql.jpg?nolink&600 |}}
 +===== Резервирование БД MySQL =====
 +
 +<file>
 +mysqldump --all --add-drop-table [--all-databases] --force [--no-data]
 +[-c] --password=password --user=user [база] [таблицы] > backup_file
 +</file>Пример. Бекап всех БД<file>
 +mysqldump --all-databases -c --password=password --user=root >> bak`date +%Y%m%d`.sql
 +</file>
 +Пример. Бекап только одной БД<file bash>
 +mysqldump -u root -p database > database.sql
 +mysqldump -u root -p database > database_`date "+%Y-%m-%d"`.sql
 +</file>
 +Пример. Бекап некольких БД<file>
 +mysqldump -u root -p -B database1 database2 database3 > databases.sql
 +</file>
 +
 +  * -c - формировать в виде полных INSERT
 +  * --all-databases (или сокращенно -A) - бекап всех баз
 +  * --databases (или сокращенно -B) для бекапа перечисленных БД
 +  * --no-data - бэкап только структуры таблиц в базах<file>
 +mysqldump --no-data -u root -p database > database_only_scheme.sql
 +</file>
 +  * [таблицы] - бэкапить только указанные таблицы.)
 +
 +===== Восстановление БД MySQL =====
 +
 +<file>
 +mysql -u root -p [database] < database_dump.sql
 +</file>
 +Для прямой вставки из текстового файла можно воспользоваться **mysqlimport**. Для анализа структуры базы, например, списка таблиц: mysqlshow <база>.
 +
 +<note warning>При возникновении ошибки **ERROR 1153 (08S01) at line 15872: Got a packet bigger than 'max_allowed_packet' bytes**. Нужно в [[my.cnf]] увеличить параметры net_buffer_length=1000000 и 
 +max_allowed_packet=1000000000</note>
 +<file>
 +mysql --max_allowed_packet=100M -u root -p [database] < database_dump.sql
 +</file>
 +====== Утилиты для резервирования MySQL ======
 +
 +  * [[Sypex Dumper]] (Лицензии [[BSD]]).
 +  * [[automysqlbackup]]
 +  * [[mysqldump]]