Подключение к MySQL через консоль

Получить информацию об установленной версии MySQL:

mysql -V

Для подключения к mysql в консоли наберите команду:

mysql -h you_sql_server -u user_name -p
  • h - хост c MySQL. Если подключаемся с локальной машины, параметр можно опустить
  • u - имя пользователя MySQL (root или другой пользователь MySQL)
  • p - пароль, который будет предложено ввести после нажатия enter

Приглашение командной строки изменится, это значит, сервер MySQL ждёт от вас команд.

mysql>

Запросы должны оканчиваться точкой с запятой. Длинные запросы удобно разбивать enter-ом для перехода на новую строку, а после полного написания запроса поставить точку с запятой и выполнить его.

Для отключения от MySQL нужно написать exit или (в unix-системах) нажать комбинацию клавиш ctrl+с.

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

SHOW DATABASES;

Выберите нужную базу данных командой:

USE db_name;

Теперь можно вводить запросы.

Чтобы подключиться к MySQL и сразу выбрать нужную базу:

mysql -u user_name -h host_name db_name -p

Полезные команды MySQL

Показать все таблицы выбранной базы данных в текущей БД:

SHOW TABLES;

Показать все таблицы базы данных db_name:

SHOW TABLES FROM db_name;

Показать список столбцов в таблице table_name в текущей БД:

SHOW COLUMNS FROM table_name;

Показать список столбцов в таблице table_name из БД db_name:

SHOW COLUMNS FROM table_name FROM db_name;

Вывести структуру нужной таблицы:

DESCRIBE table_name;

Показать структуру таблицы, будет выведен SQL-запрос на её создание через "CREATE TABLE":

SHOW CREATE TABLE table_name;

Вывести значения системных переменных:

SHOW VARIABLES;

Показать список выполняющихся в настоящий момент запросов:

SHOW PROCESSLIST;

Общая статистика MySQL:

SHOW STATUS;

Статистика по всем таблицам в базе db_name:

SHOW TABLE STATUS FROM db_name;

Управление базами данных

Создание базы данных из консоли сервера:

mysqladmin -u root -p create db_name

Удаление базы данных из консоли сервера:

mysqladmin -u root -p drop db_name

Создание базы данных db_name из консоли MySQL:

CREATE DATABASE db_name COLLATE utf8_general_ci;

Удаление базы данных db_name из консоли MySQL:

DROP DATABASE db_name;

Исправление и оптимизация баз данных в MySQL

Чтобы исправить ошибки в поврежденной таблице, в консоли MySQL выполните:

REPAIR TABLE table_name;

Если же в БД много поврежденных таблиц можно воспользоваться командой mysqlcheck:

mysqlcheck -p db_name

Восстановление и оптимизация всех БД:

mysqlcheck -Aor -p

Аргументы:

  • p - использовать пароль
  • -A, —all-databases - проверять все базы данных
  • -o, —optimize - оптимизировать
  • -r, —repair - восстанавливать повреждённые
  • —auto-repair - автоматическое восстановление

Бэкап MySQL из командной строки

Экспорт базы MySQL:

mysqldump -u username -p db_name > dump.sql

Дамп нескольких баз:

mysqldump -u username -p -B db_name1 db_name2 > dump.sql

Дамп всех баз на сервере:

mysqldump -u username -p -A > dump.sql

Дамп только структуры базы, без данных:

mysqldump -u username -p --no-data db_name > database.sql

Дамп структуры одной таблицы MySQL, без данных:

mysqldump -u username -p db_name table_name --no-data > dump.sql

Развернуть базу данных MySQL из дампа:

mysql -u username -p db_name < dump_to_restore.sql