Импорт и экспорт – это фундаментальные процессы, в которых должен хорошо разбираться каждый системный администратор и разработчик. Импорт Базы данных Mysql также известен как восстановление базы данных из ежедневной, еженедельной или любой резервной копии, которую мы имеем на нашем сервере. Экспорт рассматривается как сброс существующей базы данных для резервного копирования перед любым обновлением MySQL или Mariadb или регулярным процессом резервного копирования.
В этом руководстве мы будем использовать ОС Ubuntu, но вы можете выбрать любую ОС Linux по своему усмотрению. Команды MySQL одинаковы. Давайте приступим!
Обновление системы
Мы предполагаем, что у вас свежеустановленная Ubuntu. Перед установкой MySQL мы обновим системные пакеты до последней версии. Для этого выполните следующие команды:
sudo apt update -y && sudo apt upgrade -y
Установите сервер баз данных MySQL
Для этого поста мы установили и использовали Сервер баз данных MySQL вместо MariaDB. Обратите внимание, что вы также можете использовать MariaDB с помощью тех же команд. На всякий случай, если вы хотите установить и использовать MariaDB, вы можете установить его с помощью команды ниже:
sudo apt install mariadb-server -y
Поскольку мы будем использовать MySQL, команда для установки будет следующей:
sudo apt install mysql-server -y
После установки запустите и включите службу MySQL:
sudo systemctl start mysql && sudo systemctl enable mysql
Чтобы проверить статус службы, выполните следующую команду:
sudo systemctl status mysql
Вы должны получить следующий результат:
root@host:~# sudo systemctl status mysql
● mysql.service - MySQL Community Server
Loaded: loaded (/usr/lib/systemd/system/mysql.service; enabled; preset: enabled)
Active: active (running) since Wed 2024-12-03 04:58:28 CST; 43s ago
Main PID: 393089 (mysqld)
Status: "Server is operational"
Tasks: 38 (limit: 4613)
Memory: 362.5M (peak: 377.0M)
CPU: 2.423s
CGroup: /system.slice/mysql.service
└─393089 /usr/sbin/mysqld
Создайте тестовую базу данных и пользователя
Сначала войдите в Терминал MySQL, выполнив следующую команду:
mysql
После входа в систему вы увидите следующее окно:
root@host:~# mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 Server version: 8.0.40-0ubuntu0.24.04.1 (Ubuntu) Copyright (c) 2000, 2024, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
Чтобы создать базу данных и пользователя, необходимо выполнить следующие команды в терминале MySQL:
CREATE DATABASE dbtest; CREATE USER 'dbuser'@'localhost' IDENTIFIED BY 'StrongPasswordHere'; GRANT ALL ON dbtest.* TO 'dbuser'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES; EXIT;
Экспорт базы данных
Как мы уже говорили в первом абзаце, экспорт базы данных считается дампом базы данных. Дамп базы данных представляет собой файл .sql, который содержит таблицы и данные базы данных. Чтобы создать дамп базы данных, необходимо следовать следующему синтаксису:
mysqldump -u username -p database_name > database_dump.sql
Основная команда – mysqldump, параметры – -u для имени пользователя и -p для пароля. Наиболее важной частью команды является знак >, который говорит о том, что это экспорт (дамп) базы данных. Остальное – это имя базы данных и имя файла dump, которое вы указываете.
Итак, точная команда в нашем случае будет следующей:
mysqldump -u dbuser -p dbtest > dbtest.sql
После этого вы можете перечислить содержимое каталога для проверки наличия файла базы данных:
ls -al | grep dbtest.sql
Вы должны получить следующий результат:
root@host:~# ls -al | grep dbtest.sql -rw-r--r-- 1 root root 1267 Dec 4 07:47 dbtest.sql
Импортирование базы данных
Импорт базы данных MySQL осуществляется из дампа существующей базы данных, поэтому нам необходимо вернуться к существующей базе данных, независимо от того, пуста она или нет. Если база данных не пуста, данные будут перезаписаны при импорте MySQL.
Чтобы импортировать базу данных MySQL, необходимо следовать приведенному ниже синтаксису:
mysql -u username -p database_name < database_dump_toimport.sql
Команда аналогична экспорту, с двумя отличиями. Первое – это слово mysql вместо mysqldump, а второе по важности отличие – это знак <, который говорит нам о том, что мы импортируем дамп базы данных в базу данных MySQL.
Итак, чтобы импортировать базу данных, которую мы загрузили на предыдущем шаге, нам нужно использовать приведенную ниже команду:
mysql -u dbuser -p dbtest < dbtest.sql




Комментарии (0)