За да експортирате или импортирате с MySQL, започнете с влизане във вашия сървър, за предпочитане с sudo
(root) достъп.
Експортиране от MySQL
Най-добрият инструмент за експортиране на MySQL база данни в текстов файл е mysqldump
.
За да използвате mysqldump
, ще трябва да знаете идентификационните данни за вход на подходящ потребител на MySQL
който има необходимите привилегии за експортиране на въпросната база данни.
С тази информация в ръка въведете mysqldump
команда със съответните флагове и опции:
$ mysqldump -u my_username -p database_name > output_file_path
Използваните опции са:
-u
флагът показва, че MySQLпотребителско име
ще последва.-p
флагът показва, че трябва да бъдем подканени заpassword
свързано с горнотопотребителско име
.име_на_база_данни
разбира се е точното име на базата данни за експортиране.>
символът е Unix директива заSTDOUT
, което позволява на Unix командите да извеждат текстовите резултати от издадената команда на друго място. В този случай това изходно местоположение е пътека към файла, посочена отoutput_file_path
.
Забележка:Обикновено е препоръчително да въведете пълния път и име на файла за output_file_path
, така че полученият файл се генерира точно там, където искате.
Например, за да експортирате книгите
база данни като book_admin
потребител към ~/backup/database
директория, може да използваме следната команда:
$ mysqldump -u book_admin -p books > ~/backup/database/books.sql
Enter password:
След като въведете нашата парола, когато бъдете подканени по-горе, тази команда създава нашия архивен файл с .sql
суфикс (който е напълно незадължителен, но препоръчителен) в съответната директория.
По подразбиране mysqldump
няма запишете команди, които се опитват да променят съществуването на действителната база данни. Вместо това по подразбиране само действителни таблици
(и съответните им данни) се запазват и по този начин ще бъдат подготвени за по-късно импортиране с помощта на този файл. Ако имате нужда от възможността да експортирате (и по-късно да създадете отново) още една база данни, прочетете --databases
флаг в официалната документация.
Импортиране в MySQL
След като научихте как да експортирате резервно копие на MySQL база данни, ще разгледаме как да обърнем процеса и импортираме архивиране в съществуваща база данни.
Както може да си представите, за да похвалите mysqldump
команда, използвана за експортиране, има подобен mysqlimport
команда за импортиране.
В повечето случаи импортирането е просто въпрос на предаване на практически идентични опции към mysqlimport
команда. За да импортирате нашия запазен books.sql
файл, създаден по-рано, ще използваме много от едни и същи флагове и почти същия синтаксис.
$ mysqlimport -u book_admin -p books_production ~/backup/database/books.sql
Enter password:
Както преди, -u
и -p
флаговете са необходими за удостоверяване, което след това е последвано от името на базата данни
да импортираме в (в този случай използваме различна производствена база данни), след което накрая указваме напълно квалифицирания път към SQL дъмп файла, който съдържа нашите данни за импортиране, ~/backup/database/books.sqlкод> . Също така си струва да се отбележи, че
mysqlimport
не изисква <
или >
(STDIN/STDOUT) символи, които са били използвани с mysqldump
.
С това научихте как да експортирате/архивирате съществуваща база данни и как след това да импортирате/възстановявате тези данни в същата или дори различна база данни.