5 простых способов выполнения SQL-файлов в MySQL из командной строки Bash

Если вы разработчик или администратор баз данных, работающий с MySQL, вы часто сталкиваетесь с ситуациями, когда вам необходимо выполнять файлы SQL из командной строки Bash. В этом сообщении блога мы рассмотрим пять простых способов выполнения этой задачи, дополненные разговорными объяснениями и примерами кода. Итак, приступим!

Метод 1: использование команды «mysql».
Самый простой способ выполнить файл SQL в MySQL из командной строки Bash — использовать саму команду «mysql». Вот пример:

mysql -u username -p database_name < path/to/file.sql

В этой команде замените «имя пользователя» на свое имя пользователя MySQL, «имя_базы_данных» на целевую базу данных и «путь/к/файл.sql» на фактический путь к вашему файлу SQL. Перед началом выполнения вам будет предложено ввести пароль MySQL.

Метод 2: использование команды «source» в оболочке MySQL.
Другой подход — использовать оболочку MySQL для выполнения файла SQL. Запустите оболочку MySQL, выполнив следующую команду:

mysql -u username -p

Попав внутрь оболочки MySQL, вы можете выполнить файл SQL с помощью команды «source»:

source path/to/file.sql

Здесь замените «path/to/file.sql» фактическим путем к вашему файлу SQL. Перед началом выполнения вам снова будет предложено ввести пароль MySQL.

Метод 3: использование оболочки «mysqlsh».
Если у вас установлена ​​оболочка MySQL, вы можете использовать ее возможности для выполнения файлов SQL. Вот пример:

mysqlsh --sql --file=path/to/file.sql --host=localhost --user=username --password

Замените «path/to/file.sql» фактическим путем к вашему файлу SQL, «localhost» — соответствующим именем хоста, «username» — вашим именем пользователя MySQL, и вам будет предложено ввести пароль MySQL.

Метод 4: использование образа Docker клиента MySQL
Если у вас установлен Docker, вы можете использовать образ Docker клиента MySQL для выполнения файлов SQL. Сначала извлеките образ клиента MySQL:

docker pull mysql/mysql-server:latest

После получения изображения выполните файл SQL с помощью следующей команды:

docker run -v path/to/file.sql:/file.sql -d mysql/mysql-server:latest mysql -h hostname -u username -p < /file.sql

Не забудьте заменить «path/to/file.sql» фактическим путем к вашему файлу SQL, «hostname» соответствующим именем хоста и «username» своим именем пользователя MySQL. Вам будет предложено ввести пароль MySQL.

Метод 5: написание сценария Bash
Для более автоматизированного подхода вы можете написать сценарий Bash для выполнения файлов SQL. Вот простой пример:

#!/bin/bash
mysql -u username -p database_name <<EOF
source path/to/file.sql
EOF

Замените «username» на свое имя пользователя MySQL, «database_name» на целевую базу данных и «path/to/file.sql» на фактический путь к вашему SQL-файлу. Сохраните скрипт с расширением «.sh», сделайте его исполняемым с помощью команды «chmod +x», а затем запустите.

В этой статье мы рассмотрели пять простых способов выполнения файлов SQL в MySQL из командной строки Bash. Предпочитаете ли вы использовать прямые команды, оболочку MySQL, Docker или даже писать скрипт Bash, теперь у вас есть целый ряд вариантов на выбор. Так что выбирайте метод, который лучше всего соответствует вашим потребностям, и оптимизируйте процесс выполнения SQL-файла в MySQL.