- Работаем с MySQL через командную строку
- Как сделать бэкап базы mysql через консоль Linux?
- Заключение
- Комментарии 2
- Как в Windows подключиться к MySQL в командной строке
- Лекции по веб-программированию
- MySQL консоль
- Когда может пригодиться MySQL консоль
- Как запустить MySQL консоль
- Команды для восстановления таблиц через консоль MySQL
Работаем с 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 и многое другое:
Теперь – примеры использования некоторых 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-программист, но и, от части, системный администратор, который обязан восстановить БД после сбоя.
В этом случает без навыков работы с 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.