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

Работаем с MySQL через командную строку

День добрый, друзья! 🙂 Для подключения к mysql наберите

  • h — хост базы данных, если коннектимся к локальной базе (по ip 127.0.0.1), этот параметр можно опустить
  • u — имя пользователя
  • p — пароль, его нужно будет ввести после нажатия enter

Например, если нужно законнектиться к локальной быдухе под root`ом и пароль у него не установлен (пустой пароль — это плохо), достаточно написать

Если на экране появляется приветствие mysql, то всё прошло ok.

Для выхода из командной строки mysql можно написать exit, в linux достаточно нажать ctrl+C. Теперь можно писать любые mysql-запросы. Чтобы запрос выполнился, в конце обязательно нужно поставит точку с запятой «;». При написании длинных запросов удобно делать enter`ом переход на следующую строку. А после полного написание запроса поставить «;» и нажать «enter».

Для работы с конкретной базой данных нужно её выбрать с помощью оператора use. Показать все базы данных:

Результатом будет что то вроде этого:

Выбрать базу данных jeka:

Посмотреть названия всех таблиц в конкретной базе данных (после выполнения use):

Просмотреть структуру таблицы (имена и тип полей):

Достать информацию о юзере с >

Бэкап структуры таблицы, а точнее sql-запрос на её создание

Если в конце запроса поставить не ; а \G, то результат будет показан другим образом — иногда весьма удобно, если таблица имеет много полей:

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

Учтите, что будут отображены еще не выполненные (активные) запросы, поэтому show processlist; актуальная команды только для нагруженных БД, в других случаях маловероятно, что команда что то покажет.

Подробнее о том, как изменять структуру mysql-таблиц (alter table).

Как сделать бэкап базы mysql через консоль Linux?

Сделать бэкап базы database в файл dump_name.sql

[username] – имя пользователя который имеет доступ к базе данных.
[password] – пароль пользователя.
[database] – имя базы данных.
[dump_name.sql] – имя файла, дампа на выходе.

Развернуть базу из файла через командную строку

[username] – имя пользователя который имеет доступ к базе данных.
[password] – пароль пользователя.
[database] – имя базы данных.
[dump_to_restore.sql] – имя файла, из которого поднимаем базу

Сделать дамп структуры одной таблицы mysql (без данных):

Например, задампим таблицу users из базы данных mydatabase:

Развернуть mysql-dump в БД с именем database_name:

Ещё одна интересная штука. Выполнять из консоли, не требуется предварительно подключаться к mysql (mysql>). Вывести список таблиц базы данных, не подключаясь непосредственно к mysql:

Заключение

Может показаться, что писать запросы в командной строке не удобно. Но это заблуждение. На слабых машинах phpmyadmin работает не так шустро как хотелось бы. Тем более не на всех серверах стоят морды с phpmyadmin, adminer и т.д. Linux + mysql в терминале реально повысили мою производительность.

  • Как сделать копию структуры таблицы в mysql? Решено!
  • Установить mysql 5.6 на travis Решено!
  • Получить комментарии к полям mysql-таблицы 1 ответ
  • На PHP Access denied for user ‘root’@’localhost’, хотя через консоль подключается 1 ответ
  • mysqldump: Got error: 1044: Access denied for user when using LOCK TABLES 1 ответ
  • MySQL — изменение полей, структуры таблицы 0 комментариев
  • Запросы инъекции для mysql 0 комментариев
  • Доступ к mysql из-вне3 комментария
  • Mysql перенос таблиц из одной базы данных в другую 0 комментариев
  • Анализ производительности MySQL с использованием performance_schema 0 комментариев
Читайте также:  Яндекс браузеры для линукс минт

Комментарии 2

Viktor, спасибо. Судя по скринам, штука интересная.
Правда, уж больно много зависимостей она имеет.. Как решу проблему с зависимостями, отпишусь.

eugene-PC:www eugene$ eugene$ sudo rpm -ivh

Как в Windows подключиться к MySQL в командной строке

Делать запросы к базам данных MySQL можно не только через PHP. В комплекте с MySQL поставляется консольный клиент для подключения в серверу MySQL. Консольный — это означает, что у программы нет оконного интерфейса, а есть только интерфейс командной строки, в котором обращение к базам данных выполняется с помощью SQL запросов.

Команды для подключения к MySQL в командной строке, а уж тем более сами SQL запросы идентичны и для MariaDB. В дальнейшем для краткости я буду писать «MySQL», но везде я имею в виду «MySQL или MariaDB», поскольку в данном случае разницы между ними нет.

Подключившись через командную строку к СУБД MySQL можно выполнять самые разные задачи: просматривать базы данных и их таблицы, отправлять запросы к базам данных и получать результаты выполнения этих запросов.

Для подключения к серверу MySQL используется команда клиентская программа, которая называется mysql.exe. Её нужно запустить, но сделать нужно не двойным кликом, как обычную программу, а из командной строки.

Начнём с того, что нажмём сочtтание клавиш Win+r и выполним

Откроется командная строка.

Теперь нам нужно перейти в папку с файлом mysql.exe. Эта папка bin в директории, где установлена ваша СУБД MySQL. К примеру, у меня MariaDB, которая установлена в папке C:\Server\bin\mariadb\. Следовательно, интересующий нас файл находится в каталоге C:\Server\bin\mariadb\bin\. Для перехода в этот каталог используется команда cd следующим образом:

В этой команде замените C:\Server\bin\mariadb\bin\ на правильный для вашей системы путь

Теперь запустим файл mysql.exe. Необязательно указывать расширение файла .exe — система сама догадается, что мы имеем ввиду. Также нам нужно использовать опцию -u и -p. После первой опции нужно указать имя пользователя — root. После второй опции — пароль для пользователя. В моём случае пароль не установлен, поэтому я запускаю без опции -p:

Может показаться, что мало что изменилось, но новое приглашение командной строки

говорит о том, что мы подключены к серверу MySQL. Точнее, в моём случае мы подключены к серверу MariaDB.

Чтобы посмотреть список баз данных, введём команду:

Чтобы последующие запросы отправлялись к определённой базе данных (например, к test), используется команда USE:

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

Создадим какую-нибудь таблицу:

И вновь посмотрим содержимое базы данных test:

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

Чтобы выйти выполните команду

или нажмите Ctrl+d.

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

Лекции по веб-программированию

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

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

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

Читайте также:  Mount iso virtual disk windows

Теперь – примеры использования некоторых 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 консоль

Здравствуйте, уважаемые читатель блога LifeExample, настало время изменить привычному phpMyAdmin, с более брутальным инструментом для управления базой данных. Сегодня мы пощупаем MySQL консоль и научимся выполнять стандартные команды, а также команды по восстановлению баз данных. MySQL консоль – это стандартная СУБД (Система управления базами данных) для MySQL, поставляемая вместе с продуктом.

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

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

Читайте также:  Windows run command line with administrator

В этом случает без навыков работы с 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 необходимо ввести логин и пароль пользователя. При работе с денвером, стандартным пользователем базы является root с пустым паролем.
Выполните туже команду с добавочными параметрами, указывающими данные для авторизации.

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

Если все сделано верно, вы получите сообщение «Добро пожаловать в MySQL консоль…«

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

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

use test; show tables;

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

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

create database test;

На что получите сообщение: «QUERY OK, 1 row affected«, гласящие о успешном создании базы данных с именем test .

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

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

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

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

show columns from test.order;

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

SELECT * FROM test.order;

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

  • CREATE DATABASE DB_NAME; — создать новую бд;
  • SHOW DATABASES; — просмотр имеющихся бд;
  • USE DB_NAME; — выбрать бд;
  • SHOW TABLES; — просмотр всех таблиц;
  • SHOW COLUMNS FROM TABLE_NAME; — просмотр колонок и их свойств;
  • CREATE TABLE TABLE_NAME (`ID` INT(11),`NAME` VARCHAR(255)); — создание таблицы;
  • ALTER TABLE TABLE_NAME ADD COLUMN_NAME INT(11); — добавить колонку в таблицу;
  • ALTER TABLE TABLE_NAME DROP COLUMN_NAME; — удалить колонку из таблицы ;
  • MYSQL -UUSERNAME -PPASSWORD -HHOST DB_NAME — залить бд;
  • MYSQLDUMP -UUSERNAME -PPASSWORD -HHOST DB_NAME > FILE_NAME.SQL — сделать дамп бд;
  • QUIT; — выход из консольки MySQL.

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

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

  • CHECK TABLE имя_таблицы — Проверка таблицы на предмет ошибок в различных режимах.
  • OPTIMIZE TABLE имя_таблицы — Оптимизация таблиц.
  • REPAIR TABLE имя_таблицы — Ввосстановление таблицы.

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

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

Оцените статью