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

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


howto:services:mysql

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
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-height22.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.3999996185303pxbackground-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.3999996185303pxbackground-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.3999996185303pxbackground-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}}
  
howto/services/mysql.1435509513.txt.gz · Последние изменения: 2015/06/28 19:38 — Алексей Кожевников