Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
howto:services:mysql [2015/06/28 19:38] Алексей Кожевников |
howto:services:mysql [2019/01/17 14:44] (текущий) Алексей Кожевников ↷ Страница перемещена из howto:db:mysql в howto:services:mysql |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== MySQL ====== | ====== MySQL ====== | ||
- | === Работа с бекапами === | + | Создаём новую базу данных |
- | \\ | + | <code>mysqladmin -u USER -pPASSWORD create NEWDATABASE</code> |
- | \\ | + | или: |
- | <font 14px line-height: 22.3999996185303px; background-color: rgb(255, 255, 255);/Verdana, sans-serif;;inherit;;rgb(255, 255, 255)>Делаем бекап</font> \\ | + | <code> |
- | ''mysqldump -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql'' \\ | + | mysql -u root -p -e "CREATE DATABASE ${DB}; \ |
- | \\ | + | GRANT ALL PRIVILEGES ON ${DB}.* TO \"${DBUSER}\"@\"localhost\" \ |
- | <font 14px line-height: 22.3999996185303px; background-color: rgb(255, 255, 255);/Verdana, sans-serif;;inherit;;rgb(255, 255, 255)>Создаём структуру базы без данных</font> \\ | + | IDENTIFIED BY \"${DBPASS}\"; \ |
- | ''mysqldump --no-data - u USER -pPASSWORD DATABASE > /path/to/file/schema.sql'' \\ | + | FLUSH PRIVILEGES;" |
- | \\ | + | </code> |
- | <font 14px line-height: 22.3999996185303px; background-color: rgb(255, 255, 255);/Verdana, sans-serif;;inherit;;rgb(255, 255, 255)>Если нужно сделать дамп только одной или нескольких таблиц</font> \\ | + | |
- | ''mysqldump -u USER -pPASSWORD DATABASE TABLE1 TABLE2 TABLE3 > /path/to/file/dump_table.sql'' \\ | + | |
- | \\ | + | |
- | <font 14px line-height: 22.3999996185303px; background-color: rgb(255, 255, 255);/Verdana, sans-serif;;inherit;;rgb(255, 255, 255)>Создаём бекап и сразу его архивируем</font> \\ | + | |
- | ''mysqldump -u USER -pPASSWORD DATABASE | gzip > /path/to/outputfile.sql.gz'' \\ | + | |
- | \\ | + | |
- | <font 14px line-height: 22.3999996185303px; background-color: rgb(255, 255, 255);/Verdana, sans-serif;;inherit;;rgb(255, 255, 255)>Создание бекапа с указанием его даты</font> \\ | + | |
- | ''mysqldump -u USER -pPASSWORD DATABASE | gzip > `date +/path/to/outputfile.sql.%Y%m%d.%H%M%S.gz`'' <font 14px line-height: 22.3999996185303px; background-color: rgb(255, 255, 255);/Verdana, sans-serif;;inherit;;rgb(255, 255, 255)></font> \\ | + | |
- | \\ | + | |
- | <font 14px line-height: 22.3999996185303px; background-color: rgb(255, 255, 255);/Verdana, sans-serif;;inherit;;rgb(255, 255, 255)>Заливаем бекап в базу данных</font> \\ | + | |
- | ''mysql -u USER -pPASSWORD DATABASE < /path/to/dump.sql'' \\ | + | |
- | \\ | + | |
- | <font 14px line-height: 22.3999996185303px; background-color: rgb(255, 255, 255);/Verdana, sans-serif;;inherit;;rgb(255, 255, 255)>Заливаем архив бекапа в базу</font> \\ | + | |
- | ''gunzip < /path/to/outputfile.sql.gz | mysql -u USER -pPASSWORD DATABASE'' \\ | + | |
- | <font 14px line-height: 22.3999996185303px; background-color: rgb(255, 255, 255);/Verdana, sans-serif;;inherit;;rgb(255, 255, 255)>или так</font> \\ | + | |
- | ''zcat /path/to/outputfile.sql.gz | mysql -u USER -pPASSWORD DATABASE'' \\ | + | |
- | \\ | + | |
- | <font 14px line-height: 22.3999996185303px; background-color: rgb(255, 255, 255);/Verdana, sans-serif;;inherit;;rgb(255, 255, 255)>Создаём новую базу данных</font> \\ | + | |
- | ''mysqladmin -u USER -pPASSWORD create NEWDATABASE'' \\ | + | |
- | \\ | + | |
- | <font 14px line-height: 22.3999996185303px; background-color: rgb(255, 255, 255);/Verdana, sans-serif;;inherit;;rgb(255, 255, 255)>Удобно использовать бекап с дополнительными опциями</font> ''-Q -c -e'' <font 14px line-height: 22.3999996185303px; background-color: rgb(255, 255, 255);/Verdana, sans-serif;;inherit;;rgb(255, 255, 255)>, т.е.</font> \\ | + | |
- | ''mysqldump -Q -c -e -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql'' <font 14px line-height: 22.3999996185303px; background-color: rgb(255, 255, 255);/Verdana, sans-serif;;inherit;;rgb(255, 255, 255)>, где:</font> | + | |
- | * **-Q** оборачивает имена обратными кавычками | + | |
- | * **-c** делает полную вставку, включая имена колонок | + | |
- | * **-e** делает расширенную вставку. Итоговый файл получается меньше и делается он чуть быстрее | + | |
+ | ===== mysqldump ===== | ||
+ | |||
+ | Дамп: | ||
+ | <code>mysqldump -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql</code> | ||
+ | |||
+ | Структура базы без данных: | ||
+ | <code>mysqldump --no-data - u USER -pPASSWORD DATABASE > /path/to/file/schema.sql</code> | ||
+ | |||
+ | Дамп нескольких таблиц: | ||
+ | <code>mysqldump -u USER -pPASSWORD DATABASE TABLE1 TABLE2 TABLE3 > /path/to/file/dump_tables.sql</code> | ||
+ | |||
+ | Бекап с архивиацией и указанием даты создания: | ||
+ | <code>mysqldump -u USER -pPASSWORD DATABASE | gzip > `date +/path/to/backup.sql.%Y%m%d.%H%M%S.gz`</code> | ||
+ | Удобно использовать mysqldump с дополнительными опциями: | ||
+ | * -Q оборачивает имена обратными кавычками | ||
+ | * -c делает полную вставку, включая имена колонок | ||
+ | * -e делает расширенную вставку. Итоговый файл получается меньше и делается он чуть быстрее | ||
+ | |||
+ | |||
+ | ===== Восстановление данных ===== | ||
+ | |||
+ | Заливаем дамп в базу данных | ||
+ | <code>mysql -u USER -pPASSWORD DATABASE < /path/to/dump.sql</code> | ||
+ | |||
+ | Заливаем архив бекапа в базу | ||
+ | <code>gunzip < /path/to/backup.sql.gz | mysql -u USER -pPASSWORD DATABASE</code> | ||
+ | или так | ||
+ | <code>zcat /path/to/backup.sql.gz | mysql -u USER -pPASSWORD DATABASE</code> | ||
+ | |||
+ | {{tag> mysql mysqldump sql dump}} | ||