Работа с mysql через консоль

Обновлено: 06.07.2024

Небольшая памятка по работе с сервером MySQL из командной строки.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Что бы выполнять запросы к MySQL из консоли, не всегда требуется предварительно подключаться к mysql. Параметр -e позволяет исполнить команду, вывести результат на экран, после чего отключиться от сервера MySQL. Например, можно вывести список таблиц базы данных.

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

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

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

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

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

Замена в поле одной подстроки на другую

Работа с пользователями

Вывести список пользователей

Показать список прав пользователя user

Создать нового пользователя

Чтобы создаваемый пользователь смог подключаться к серверу MySQL с любого IP адреса или хоста (за исключением localhost), можно использовать символ процента, вот так

Чтобы разрешрешить пользователю подключаться вообще со всех хостов, придётся создать для него две учётные записи.

Добавить указанные привилегии для таблиц БД db_name пользователю user@localhost

Чтобы изменить права пользователю, иногда удобно сначала сбросить все права

А затем установить нужные с помощью GRANT, как было показано выше.

Добавить все привилегии для таблиц БД db_name пользователю user@localhost

Удаление привилегий пользователя user@localhost для БД db_name:

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

Удалить пользователя user@localhost

Изменить пароль пользователя в консоли MySQL

Установить пароль для пользователя user в консоли сервера.

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

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

Проверить db_name на ошибки.

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

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

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

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

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

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

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

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

Клонирование таблиц

Скопировать структуру и ключи таблицы, без копирования данных.

Клонировать таблицы базы данных со всеми данными.

На этом всё. Но вы можете поддержать проект. Даже небольшая сумма поможет нам писать больше полезных статей.

Если статья помогла или понравилась, пожалуйста поделитесь ей в соцсетях.

Ниже предоставлен список наиболее полезных и часто используемых команд MySQL с примерами.

Это перевод статьи отсюда>>>, с некоторыми незначительными изменениями и дополнениями.

mysql> в начале строки означает, что команда выполняется из MySQL-клиента.

Общие команды

Что бы проверить статус сервера MYSQL выполните:

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

Работа с базами и таблицами

Работа с базами

Создать базу данных на MySQL сервере:

Показать список всех баз данных на сервере MySQL:

Переключиться для работы с определенной базой данных:

Работа с таблицами

Отобразить все таблицы в базе данных:

Просмотреть формат таблицы в базе:

Показать все содержимое таблицы:

Отобразить количество строк в таблице:

Подсчитать количество колонок в таблице:

Удаление строки в таблице:

mysql> DELETE from [table name] where [field name] = 'whatever';

Удаление столбца из таблицы:

mysql> alter table [table name] DROP INDEX [column name];

Удалить таблицу из базы:

Работа с колонками

Добавить колонку в таблицу:

mysql> ALTER TABLE [table name] ADD COLUMN [new column name] varchar (20);

Изменение имени колонки:

mysql> ALTER TABLE [table name] CHANGE [old column name] [new column name] varchar (50);

Создать колонку с уникальным именем, что бы избежать дубликатов в названиях:

mysql> ALTER TABLE [table name] ADD UNIQUE ([column name]);

Изменение размера колонки:

mysql> ALTER TABLE [table name] MODIFY [column name] VARCHAR(3);
Выборка данных

Показать все содержимое таблицы:

Отобразить колонки и их содержимое в выбранной таблице:

mysql> SELECT * FROM [table name] WHERE [field name] = "whatever"; mysql> SELECT * FROM [table name] WHERE name = "Bob" AND phone_number = '3444444'; mysql> SELECT * FROM [table name] WHERE name != "Bob" AND phone_number = '3444444' order by phone_number; mysql> SELECT * FROM [table name] WHERE name like "Bob%" AND phone_number = '3444444'; mysql> SELECT * FROM [table name] WHERE name like "Bob%" AND phone_number = '3444444' limit 1,5;

Показать все уникальные записи:

Отобразить выбранные записи, отсортированные по возрастанию ( asc ) или убыванию ( desc ):

mysql> SELECT [col1],[col2] FROM [table name] ORDER BY [col2] DESC;
Регулярные выражения

Импорт и экспорт данных в/из файла

Загрузка файла CSV в таблицу:

mysql> LOAD DATA INFILE '/tmp/filename.csv' replace INTO TABLE [table name] FIELDS TERMINATED BY ',' LINES TERMINATED BY 'n' (field1,field2,field3);

Пользователи, пароли сервера MySQL:добавление, изменение пользователей и паролей

mysql> INSERT INTO user (Host,User,Password) VALUES('%','username', PASSWORD('password')); mysql> SET PASSWORD FOR 'user'@'hostname' = PASSWORD('passwordhere');

Восстановление/изменение пароля root сервера MySQL — остановка MySQL, запуск без таблиц привилегий, подключение под root , установка нового пароля, выход и перезапуск MySQL.

Подробнее о восстановлении пароля root для MySQL написано тут>>>.

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

Если сервер MySQL находится на удалённом хосте – его можно указать с помощью ключа -h:

Очень полезная команда – status, которая выводит информацию об используемой версии MySQL и многое другое:

Теперь – примеры использования некоторых SQL-функций.

К примеру – выведем текущую дату, пользователя и версию MySQL:


Если в процессе вы передумали продолжать набор команд и хотите завершить набор – укажите с:

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

Что бы переключиться на использование определённой базы – используйте use:

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

Просмотреть содержащиеся в ней таблицы можно командой:

В базе base1 имеется только одна таблица tablename.

Всё то же самое можно сделать и не подключаясь к серверу MySQL, а напрямую из консоли сервера. Например – просмотреть список имеющихся на сервере баз:

А просмотреть имеющиеся в базе данных MySQL таблицы из консоли можно так:

Посмотреть содержимое таблицы из консоли можно следующим образом:

$ mysqlshow base1 tablename -u root -p

Выполнять запросы SQL можно как из консоли сервера, так и из консоли клиента mysql. Так же, запросы можно вводить не напрямую, а из файла. К примеру, имеется файл с таким содержимым:

Что бы выполнить этот запрос из консоли сервера – выполните:

А из клиента mysql – так:

При этом, файл должен находится в каталоге, в котором вы находились перед подключением к mysql-клиенту.

Теперь – подключимся под пользователем root и создадим базу test1:

Далее – создадим пользователя user1, дадим ему права на доступ к базе test1 и установим пароль mypasswd:

mysql> grant all on test1.* to ‘user1’@’localhost’ identified by ‘mypasswd’;

Теперь – подключимся к серверу под новым пользователем и сразу переключимся на базу test1, что бы избежать ввода команды use database, после чего сразу проверим используемую базу с помощью функции select database():

При создании таблицы используется такой синтаксис:

имя_столбца ТИП(значение) АТРИБУТ

Атрибуты могут иметь значение либо NULL (может быть пустым), либо NOT NULL — обязательно должен быть заполнен.

В примере будут использоваться такие типы столбцов:

VARCHAR – подразумевает, что в столбце будут использоваться символьные данные – текст – переменной длины, в (значение) указывается количество знаков, которое может быть использовано в этом столбце;
DATE – подразумевает использование даты в формате YYYY-MM-DD;
INT — только целые числа, без дробей;
UNSIGNED — только положительные значения;
AUTO_INCREMENT — автоматически задаст значение, на единицу большее существующего;
ENUM — столбец перечисляемого типа, может принимать значения, указанные в его атрибутах, в примере это (‘Y’, ‘N’).

PRIMARY KEY указывает, что указанные столбцы являются первичным ключом.

И – пример создания таблицы списка контактов, имена столбцов достаточно красноречивы, что бы можно было определить их назначение и выдвигаемые к столбцам требования:

Что бы просмотреть созданную таблицу – выполним:

Если таблица создана ошибочно, или больше не нужна – удалить её можно командой:

MySQL консоль

Когда может пригодиться MySQL консоль

С точки зрения начинающего web-программиста, phpMyAdmin выполняет все необходимые для нормальной работы функции. Представьте, что вы не только web-программист, но и, от части, системный администратор, который обязан восстановить БД после сбоя.

В этом случает без навыков работы с MySQL консолью, вам не обойтись. Чуть позже мы рассмотрим команды для восстановления базы с помощью консоли, ну а пока начнем с азов.

Как запустить MySQL консоль

Запустить консоль можно через проводник windows, найдя в папке с MySQL утилиту mysql.exe . Обычно она находится по адресу: [путь до папки]\mysql\bin\mysql.exe . В случае использования денвера, MySQL консоль, стоит искать в этом направлении:
C:\WebServer\usr\local\mysql\bin\mysql.exe

Кроме проводника windows, можно использовать командную строку:

  • Запустите cmd.exe
  • Напишите полный путь до файла mysql.exe
  • Нажмите enter

Вы должны наблюдать такую картину:

Запуск консоли mysql

Ошибка говорит о том, что для запуска консоли mysql необходимо ввести логин и пароль пользователя. При работе с денвером, стандартным пользователем базы является root с пустым паролем.
Выполните туже команду с добавочными параметрами, указывающими данные для авторизации.

C:\WebServer\usr\local\mysql-5.1\bin\mysql.exe –u root –p

Приветствие консоли mysq

Убедиться в том, что вы успешно подключены к серверу БД, можно введя команду show databases; . В результате ее выполнения будет выведен перечень присутствующих баз данных на сервере.

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

use test; show tables;

В моем примере я обращаюсь к базе test , если у вас такой не существует, обратитесь к любой другой из имеющихся.

Вывод таблиц базы данных MySQL через консоль

В качестве эксперимента вы можете попробовать создать базу test, с помощью команды:

create database test;

Теперь давайте создадим в базе test таблицу order .

create table test (`id` int(11),`content` varchar(255));

И вновь выполним команду show tables; , которая покажет, что таблица действительно создана, и доступна для работы с ней.

Также можно попробовать вывести список колонок в таблице:

show columns from test.order;

Вывод полей таблицы order

Ну и в завершение знакомства с консолью MySQL, выполним какой-нибудь запрос:

SELECT * FROM test.order;

Выполнение запроса MySQL в консоли

Команды для восстановления таблиц через консоль MySQL

Как и обещал в начале статьи, выкладываю команды для восстановления таблиц. Данные команды могут пригодиться после сбоя сервера.

Кроме этих MySQl команд, при восстановлении таблиц можно пользоваться специальной утилитой myisamchk, поставляемой вместе с MySQl.

Надеюсь, вы нашли в этой статье, полезную вам, информацию и теперь понимаете как работать через консоль MySQL. Подписывайтесь на RSS рассылки, в скором будущем будет опубликована статья, о использовании myisamchk.




Чтобы не пропустить публикацию следующей статьи подписывайтесь на рассылку по E-mail или RSS ленту блога.

Читайте также: