Russian (CIS)
 
Работа с MySQL используя коммандную строку
06.01.2011 14:38

Очень часто мы сталкиваемся с переносом базы с локального сервера на живой и наоборот, для быстрой работы мы используем phpMyAdmin. Но часто база либо имеет большой размер либо возникают другие причины, вот для этого мы и переходит на более надежный и быстрый способ работы с базой даных. Научимся работать с MySql через командную строку.

Создание дампа

Разберем пример простейшее использования, задампим базу данных «database» при помощи перенаправления потока в файл «database.sql»:

mysqldump -uroot -h82.82.82.82 -p database > database.sql

где:

-u или -–user=... — имя пользователя

-h или --host=... — удаленный хост (для локального хоста можно опустить этот параметр)

-p или --password — запросить пароль

database — имя базы данных

database.sql — файл для дампа

Для того чтобы сделать дамп несколько баз данных, необходимо использовать параметр --databases (или сокращенно -B), пример:

mysqldump -uroot -h82.82.82.82 -p -B database1 database2 database3 > databases.sql

А для того чтобы сделать дамп всех баз данных, необходимо использовать параметр --all-databases (или сокращенно -A), пример:

mysqldump -uroot -h82.82.82.82 -p -A > all-databases.sql

Развертывание дампа

Перенаправляем поток в обратную сторону и развертываем базу данных:

mysql -uroot -h82.82.82.82 -p database < database.sql

Или через mysql-console:

mysql> use database;
mysql> source database.sql

Пример использование некоторых параметров

Например, нам нужны данные с «продакшен версии базы» для «версии разработчика», то есть нам нужна «песочница». Выбираем не более 100 записей:

mysqldump -uroot -h82.82.82.82 -p --where="true limit 100" database > database.sql

Или нам нужна только структура, без данных:

mysqldump -uroot -h82.82.82.82 -p --no-data database > database.sql

Как посмотреть какие процессы mysql выполняются

mysql -uroot -p -e "SHOW PROCESSLIST;"

Если есть необходимость удалить какой то из процессов

mysql -uroot -p -e "KILL ID;"

ID надо заменить на реальный Id процесса из результатов SHOW PROCESSLIST

Вот в принципе и все, что понадобится Вам чаще всего

 
reload Загадки, Афоризмы

Легче всего создаются трудности

Посещаемость

Яндекс.Метрика