Імпорт та експорт баз даних в MySQL за допомогою командного рядка ⋆ ALexHost SRL

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills
10.12.2024

Імпорт та експорт баз даних в MySQL за допомогою командного рядка

Керування резервними копіями та міграцією баз даних є важливим завданням для будь-якого адміністратора баз даних MySQL. За допомогою командного рядка ви можете легко експортувати бази даних до файлів резервних копій або імпортувати їх у нове середовище. У цьому посібнику описано, як імпортувати та експортувати бази даних у MySQL за допомогою командного рядка.

Необхідні умови

Перед початком роботи переконайтеся, що

  • MySQL встановлено і запущено на вашому сервері або локальній машині.
  • Ви маєте доступ до терміналу або командного рядка.
  • Ви маєте необхідні облікові дані MySQL, включаючи ім’я користувача та пароль.

Експорт баз даних за допомогою mysqldump

Утиліта mysqldump є стандартним інструментом для експорту баз даних в MySQL. Вона створює файл .sql, який містить оператори SQL, необхідні для відтворення бази даних.

1. Експорт однієї бази даних

Щоб експортувати окрему базу даних, використовуйте наступний синтаксис:

mysqldump -u [ім'я користувача] -p [назва_бази_даних ]> [ім'я файлу].sql
  • -u [ім’я користувача]: Ім’я користувача MySQL.
  • -p: Підказки для введення пароля до MySQL.
  • [назва_бази_даних]: Назва бази даних, яку ви хочете експортувати.
  • [ім’я_файлу].sql: Назва вихідного файлу, який міститиме резервну копію бази даних.

Приклад:

mysqldump -u root -p mydatabase > mydatabase_backup.sql

Ця команда запитає пароль користувача root і створить файл з назвою mydatabase_backup.sql, що містить усі дані і структуру бази даних mydatabase.

2. Експорт декількох баз даних

Щоб експортувати кілька баз даних, використовуйте прапорець –databases, за яким слідують назви баз даних:

mysqldump -u [ім'я користувача] -p --databases [database1 ] [database2] > [ім'я файлу].sql

Приклад:

mysqldump -u root -p --databases db1 db2 > multiple_databases_backup.sql

Ця команда експортує обидві бази даних db1 і db2 до файлу multiple_databases_backup.sql.

3. Експортувати всі бази даних

Щоб експортувати всі бази даних на вашому сервері MySQL, використовуйте прапорець –all-databases:

mysqldump -u [ім'я користувача] -p --all-databases > all_databases_backup.sql

Приклад:

mysqldump -u root -p --all-databases > all_databases_backup.sql

Це створить повну резервну копію всіх баз даних у файлі all_databases_backup.sql.

4. Експортувати лише структуру таблиць (без даних)

Якщо вам потрібна лише структура таблиць без даних, додайте прапорець –no-data:

mysqldump -u [ім'я користувача] -p --no-data [назва_бази_даних] > structure_only.sql

Приклад:

mysqldump -u root -p --no-data mydatabase > structure_only.sql

5. Експорт певних таблиць

Щоб експортувати певні таблиці з бази даних, перелічіть їх після назви бази даних:

mysqldump -u [ім'я користувача] -p [назва_бази_даних] [таблиця1 ] [таблиця2] > [назва файлу].sql

Приклад:

mysqldump -u root -p mydatabase table1 table2 > tables_backup.sql

Імпорт баз даних за допомогою mysql

Щоб імпортувати базу даних з файлу SQL, скористайтеся командою mysql.

1. Імпорт однієї бази даних

Щоб імпортувати файл SQL в базу даних MySQL, скористайтеся наступною командою:

mysql -u [ім'я користувача] -p [назва_бази_даних] < [ім'я файлу].sql
  • -u [ім’я користувача]: Ім’я користувача MySQL.
  • -p: Підказки для введення пароля до MySQL.
  • [назва_бази_даних]: Назва бази даних, куди будуть імпортовані дані.
  • [ім’я_файлу].sql: Ім’я файлу .sql для імпорту.

Приклад:

mysql -u root -p mydatabase < mydatabase_backup.sql

Ця команда запитає пароль користувача root і імпортує вміст файлу mydatabase_backup.sql до бази даних mydatabase.

2. Імпорт до нової бази даних

Якщо ви хочете імпортувати до нової бази даних, спочатку створіть базу даних, а потім імпортуйте файл .sql.

Крок 1: Створіть нову базу даних.

mysql -u [ім'я користувача] -p -e "CREATE DATABASE [назва_нової_бази_даних];"

Крок 2: Імпортуйте .sql файл до нової бази даних.

mysql -u [ім'я користувача] -p [назва_нової_бази_даних] < [ім'я файлу].sql

Приклад:

mysql -u root -p -e "CREATE DATABASE newdatabase;"
mysql -u root -p newdatabase < mydatabase_backup.sql

3. Імпортувати всі бази даних

Якщо ви створили резервну копію всіх баз даних за допомогою --all-databases, ви можете імпортувати їх назад за допомогою цього параметра:

mysql -u [ім'я користувача] -p < all_databases_backup.sql

Приклад:

mysql -u root -p < all_databases_backup.sql

Ця команда відновить усі бази даних, що містяться у файлі all_databases_backup.sql.

Поради щодо використання mysqldump і mysql

  • Використовуйте стиснення: Щоб заощадити місце на диску і час передачі, ви можете стиснути файл резервної копії за допомогою gzip:
    mysqldump -u root -p mydatabase | gzip > mydatabase_backup.sql.gz

    І імпортувати його:

    gunzip < mydatabase_backup.sql.gz | mysql -u root -p mydatabase
  • Перевірте базу даних перед імпортом: Переконайтеся, що база даних, до якої ви імпортуєте, порожня або містить сумісні дані, щоб уникнути конфліктів.
  • Перевірте набір символів: Якщо ви маєте справу з символами, відмінними від ASCII, переконайтеся, що ви експортуєте та імпортуєте з правильним набором символів, використовуючи опцію --default-character-set:
    mysqldump -u root -p --default-character-set=utf8 mydatabase > mydatabase_backup.sql
  • Обробка помилок: Якщо під час імпорту виникають помилки, перевірте наявність типових проблем, таких як відсутність баз даних або структур таблиць, і переконайтеся, що ваш .sql-файл є повним.

Підсумок

Експортувати та імпортувати бази даних MySQL за допомогою командного рядка дуже просто за допомогою mysqldump та mysql. Ці інструменти дозволяють гнучко керувати резервними копіями, переносити бази даних між серверами та створювати експорт лише структури або конкретних даних. Розуміючи команди та їхні опції, ви зможете забезпечити безперебійну роботу бази даних і зберегти цілісність даних під час перенесення.

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills