Запуск mysql из командной строки

От автора: девушка, у вас машина не заводится? Может «с толкача» попробуем? Я помогу! Не знаете, как это? «С толкача» заводили только сервер СУБД через cmd? Значит, как запустить MySQL через командную строку вы знаете, а автомобиль – даже не догадываетесь. Мадмуазель, вы «странная» блондинка!.

Странности в описании MySQL

При подготовке каждой статьи мне приходится «основательно» шерстить интернет в поисках справочных материалов по той или иной «сайтостроительной» дисциплине. По большей части «наук» в Сети опубликовано множество подробных руководств и учебников, но только не по MySQL.

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

Чтобы найти ответ новичку, придется перешерстить с десяток тематических форумов, где профессиональные разработчики (корча из себя чуть ли не «академиков») снизойдут до того, чтобы хоть что-то нормально пояснить начинающему.

Стоит понимать, что настоящему админу следует знать все способы запуска и работы с сервером БД. Понятно, что программные оболочки – самый удобный метод, но ведь они не всегда могут оказаться «под рукой». Поэтому знание того, как включить MySQL через командную строку, не раз спасет и данные сайта, и вашу репутацию специалиста (если собираетесь заниматься веб-разработкой профессионально).

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Получить курс сейчас!

Рассмотрим эту тему более подробно. И не корчите, пожалуйста, мины, если что-то из сказанного в данном материале покажется вам таким же простым, как заводить автомобиль «с толкача» .

Запускаем cmd

Для запуска MySQL из командной строки сначала активируем саму утилиту (cmd), которая входит в стандартный набор Windows. Сделать это можно несколькими способами:

Клавиатурным сочетанием Win+R, а затем в появившемся диалоге «Выполнить» ввести cmd

Через панель «Пуск».

Кроме этого MySQL может поставляться с «родной» оболочкой. Например, если вы устанавливаете сервер БД на локальную машину как самостоятельное «приложение», которое не входит в набор для «джентльменов».

Родная MySQL командная строка запускается также как и обычная cmd. Отличие в работе обеих утилит проявится позже. Об этом мы поговорим в следующем разделе.

Работа с командной строкой

Сначала разберемся со встроенной в операционную систему утилитой. Рассмотрим, как запустить MySQL из командной строки Windows. Для этого нужно:

Путь к папке в файловой системе ПК, куда вы установили сервер БД.

Учетная запись пользователя – логин и пароль.

Если вы работаете с Денвером, то исполняемый файл находится на виртуальном диске, который создается после запуска локального сервера, по этому пути: Z:\usr\local\mysql-5.5\bin

Как я уже сказал, командная строка MySQL в Denwer запускается через cmd OC. То есть, сначала запускаем ее, а затем прописываем путь к исполняемому файлу СУБД. Пароль и логин для доступа можно указывать сначала или потом после активации утилиты MySQL. Как по мне, то удобнее прописывать все сразу: Z:\usr\local\mysql-5.5\bin\mysql.exe -u root

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Получить курс сейчас!

Мы зашли на сервер СУБД под правами администратора. У меня пароль для root не установлен, поэтому его значение не указано. После того, как мы запустили MySQL из командной строки, внизу появится справочная информация о версии утилиты, сервера и id подключения.

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

1 SHOW OPEN TABLES;

MySQL в командной строке Windows выдал нам лишь таблицы, входящие в состав системной базы. Это потому, что все данные, хранящиеся в ней, используются в работе запущенного экземпляра СУБД. Таким образом мы узнали, что сервер работает и что мы зашли на него с правами администратора, как и планировали.

Схема работы с оболочкой, устанавливаемой вместе с системой управления БД, немного отличается. Чтобы «прочувствовать» все это на себе, давайте активируем MySQL через эту командную строку.

После ее запуска появляется окно, в котором нужно сразу вводить пароль. В остальном весь процесс взаимодействия с утилитой одинаков.

Работа с другими приложениями

Состав стандартного набора средств СУБД не ограничивается одним «экзешником» сервера. Их ассортимент можно просмотреть, заглянув в ту же папку, где «стоит» сервер БД. Для примера запустим утилиту dump MySQL через командную строку.

Сначала переходим на виртуальный диск, затем с помощью команды cd в ту папку, где хранится утилита. Напомню, что она предназначена для создания резервных копий баз.

На следующем шаге перед тем, как зайти в MySQL через командную строку, нам потребуется указать учетную запись и пароль к ней. Пример использования команды mysqldump:

1 mysqldump -uroot world>C:\Users\домашний\Desktop\dump\copy.sql

После ввода команды нажмите «Enter». Результатом работы MySQL из командной строки должна стать созданная копия базы, расположенная по указанному пути. Как видим, мы нажали на кнопку и получили ожидаемый результат.

Чтобы команда сработала корректно, указанная директория на момент выполнения должна быть создана. Иначе утилита вернет сообщение, что такого пути не существует.

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

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

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Получить курс сейчас!

Хотите изучить MySQL?

Посмотрите курс по базе данных MySQL!

Смотреть

Мне часто друзья задают те или иные вопросы по администрированию и я подумал, почему бы вместо того, чтобы объяснять по 100 раз одно и то же, не писать такие статьи-заметки на сайте? К тому же, это прекрасная возможность в случае чего самому воспользоваться такой заметкой, ведь Вы сами знаете, удержать в голове порой всё не возможно и так или иначе иногда приходится обращаться к настольной книге, так пусть такой книгой станет один из разделов этого сайта. Сегодня мы поговорим о том, как работать с СУБД MySQL из командной строки, да, кто-то скажет — «Накой? Ведь есть phpMyAdmin», отвечаю — зачем тратить драгоценные ресурсы сервера, устанавливая всякую дрянь по типу WebMin, phpMyAdmin и т.п., если всё тоже самое легко можно проделать надёжными, проверенными средствами. Настройка из терминала по SSH-туннелю — наш выбор!

Что ж, приступим. Соединяемся с сервером по SSH, к примеру через всеми известный PuTTY (A Free Telnet/SSH Client). Теперь перейдём непосредственно к описанию команд.

Вход на сервер MySQL программой mysql:

mysql -u root -h localhost -p

Параметр -u указывает пользователя, который будет входить в систему. Параметр -h указывает узел сети. Обычно это localhost, если вы настраиваете не удаленный сервер. Наконец, -p сообщает программе-клиенту mysql, что для доступа к базе данных будет вводиться пароль. Обратите внимание на приглашение mysql>. Именно здесь вы будете вводить все свои команды. Теперь, находясь в среде mysql в качестве корневого пользователя, мы можем начать настройку базы данных.

Мы вошли, и на экране — приглашение mysql. Сначала взглянем на список уже имеющихся баз данных. Для этого введем команду SHOW DATABASES.

1 SHOW DATABASES;

Запомните, что команды MySQL следует заканчивать точкой с запятой — ;

Базы данных создаются командой CREATE DATABASE. Мы назовем свою test.

1 CREATE DATABASE test;

Ответ дает понять, что команда выполнена без каких-либо ошибок. В данном случае, изменилась одна строка. Это относится к главной базе данных mysql, в которой содержится список всех баз данных. Но вам не нужно слишком беспокоиться о второстепенных подробностях. Последнее число означает время выполнения запроса. Убедиться, что база данных создана, мы можем, снова запустив команду SHOW DATABASES.

Чтобы заняться созданием таблиц в новой базе данных test, нам потребуется установить ее как текущую. Для этого используем команду USE. Параметром этой команды указывается название базы данных, которую нужно сделать текущей. Еще текущую базу можно устанавливать в командной строке, указывая ее название после параметра -D. Давайте продолжим и переключимся на базу данных test.
Переключение базы данных:

1 USE test;

Привилегии в MySQL

Предоставление привилегий командой GRANT.
Привилегиями определяются возможности доступа пользователей к базам данных, таблицам… почти ко всему. Сейчас только суперпользователь root из MySQL может обращаться к базе данных test, согласно данным разрешениям. Давайте создадим ещё одного пользователя, например, admin (администратор), который будет обращаться к базе данных test и работать с информацией из нее. Но прежде, чем начать, давайте взглянем на несколько упрощенный формат команды GRANT.

1 GRANT ON база_данных.* TO »@» IDENTIFIED BY »;

Примечание: Команда GRANT считается способом создания пользователя. Поздние версии MySQL, однако, также содержат функцию CREATE_USER, хотя GRANT до сих пор предпочтительнее.
Теперь нужны привилегии, которые можно присваивать. Используя все вышесказанное, можно устанавливать следующие привилегии:

1
2
3
4
5
6
7
ALL — дается полный доступ ко всей базе данных
CREATE — пользователям позволяется создавать таблицы
SELECT — пользователям позволяется делать запросы к таблицам
INSERT — пользователям позволяется вставлять данные в таблицу
SHOW DATABASES — разрешается выводить список баз данных
USAGE — у пользователя нет привилегий
GRANT OPTION — пользователям разрешается давать привилегии

Примечание: Если вы используете MySQL для обмена данными с веб-приложением, то разъясняемые здесь привилегии CREATE, SELECT, INSERT, а также привилегии DELETE и UPDATE (описанные в руководстве по MySQL, раздел GRANT and REVOKE Syntax (англ.)) — единственные, которые, вероятно, потребуются. Многие совершают ошибку, раздавая все привилегии, когда это, в действительности, не нужно. Сверьтесь с разработчиками приложений, действительно ли такие разрешения создадут проблемы в работе.

Создание пользователя admin:

1 GRANT CREATE,SELECT,INSERT,DELETE,UPDATE ON test.* TO ‘admin’@’localhost’ IDENTIFIED BY ‘пароль’;

Итак, пользователи созданы; теперь протестируем их. Сначала выйдем из mysql, написав quit в строке приглашения:

1 quit

Теперь мы снова в консоли. Пользователи настроены, давайте посмотрим, что они могут делать. Попробуйте выполнить несколько запросов к своим БД и посмотрите результат.

Удаление прав пользователя командой REVOKE.

Команда REVOKE позволяет запретить доступ пользователю. Можно либо запретить любой доступ, либо только определенный. В самом деле, формат очень похож на GRANT.
Синтаксис REVOKE:

1 REVOKE ON база_данных.* FROM »@»;

Параметры объясняются в разделе команды GRANT. А сейчас мы запретим пользователю любой вид доступа. Скажем, мы выяснили, что учетная запись admin вызывает проблемы с безопасностью. Мы решаем отозвать все права. Заходим как root делаем необходимое.
Отзыв разрешений для пользователя admin:

1 REVOKE ALL ON test.* FROM ‘admin’@’localhost’;

Примечание: В данном случае, доступ пользователя прост, поэтому отмена прав на одну базу данных — не проблема. Но обычно вам, скорее всего, потребуется использовать *.* вместо test.*, чтобы заодно отменить доступ пользователя ко всем остальным базам данных.

Теперь взглянем, как полностью удалить учетную запись командой DELETE, и посмотрим на таблицу пользователей MySQL.

Удаление учетных записей командой DELETE.
Таблица пользователей MySQL — это список пользователей и информации о них. Убедитесь, что вы зашли как root. Используйте основную базу данных MySQL.

Использование основной базы mysql:

1 USE mysql;

Посмотрим, какие в базе mysql существуют таблицы:

1 SHOW TABLES;

Таблица user — та, что нужна. В ней 30 различных полей, и ее сложно читать. Для облегчения чтения используем третью форму команды SELECT. Искомые поля — Host (узел) и User (пользователь).
Нахождение пользователя admin в таблице user:

1 SELECT Host,USER FROM USER WHERE USER = ‘admin’;

Теперь, получив информацию, мы можем избавиться от пользователя admin. Это делается командой DELETE; вот ее синтаксис:

1 DELETE FROM имя_таблицы WHERE поле=’значение’;

Вы могли заметить, что формат DELETE чем-то схож с форматом SELECT. Укажем поле User и значение admin. Это удалит запись из таблицы user, где пользователь — admin, удаляя нашу учетную запись. Сделаем так:
Удаление пользователя admin:

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

Символы # или $ которые находятся в самом начале означают , что команда выполняется из командной строки.

mysql>

означает что вы вошли и работаете в консоли MySQL сервера.
Что бы проверить статус сервера MYSQL выполните:

# service mysql status

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

$ mysql -u root -p

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

mysql> -u username -p -h hosmysql.exempe.ru;

Работа с базами, таблицами — просмотр, удаление, редактирование записей. Консоль MySQL

Хочу предупредить местами парсер на сайте поменял кавычки с

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

mysql> create database your_db_name;

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

mysql> show databases;

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

mysql> use your_db_name;

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

mysql> show tables;

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

mysql> describe your_db_name;

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

mysql> drop database your_db_name;

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

mysql> drop table your_db_name;

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

mysql> SELECT * FROM your_db_name;

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

mysql> show columns from your_db_name;

Отобразить строки в определенной таблице, содержащие значение, слово «whatever»:

mysql> SELECT * FROM your_table_name WHERE your_field_name = «whatever»;

Отобразить все записи в определенной таблице, содержащие » zer » и телефонный номер «89996668866» :

mysql> SELECT * FROM your_table_name WHERE name = » zer » AND phone_number = ‘89996668866’;

Отобразить все записи, НЕ содержащие имя «zer» и телефонный номер «89996668866», отсортированные по полю phone_number :

mysql> SELECT * FROM your_table_name WHERE name != » zer » AND phone_number = ‘89996668866’ order by phone_number;

Показать все записи, начинающиеся с букв «zer» и телефонного номера «89996668866» в определенной таблице:

mysql> SELECT * FROM your_table_name WHERE name like » zer %» AND phone_number = ‘89996668866’;

Показать все записи, начинающиеся с букв «zer» и телефонного номера «89996668866» , ограничиваясь записями с 1-ой до 5-ой:

mysql> SELECT * FROM your_table_name WHERE name like » zer %» AND phone_number = ‘89996668896’ limit 1,5;

Использование регулярных выражений ( «REGEXP BINARY» ) для поиска записей. Например, для регистро-независимого поиска — найти все записи, начинающиеся с буквы А :

mysql> SELECT * FROM your_table_name WHERE rec RLIKE «^ a «;

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

mysql> SELECT DISTINCT your_column_name FROM your_table_name; Отобразить выбранные записи, отсортированные по возрастанию ( asc ) или убыванию ( desc ): mysql> SELECT , FROM your_table_name ORDER BY DESC;

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

mysql> SELECT COUNT(*) FROM your_table_name;

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

mysql> SELECT SUM(*) FROM your_table_name;

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

mysql> alter table your_table_name drop column your_column_name;

Добавление колонки в базу данных:

mysql> alter table your_table_name add column your_new_column_name varchar (20);

Изменение имени столбца:

mysql> alter table change varchar (50);

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

mysql> alter table add unique ();

Изменение размера столбца:

mysql> alter table modify VARCHAR(3);

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

mysql> alter table drop index ;

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

mysql> LOAD DATA INFILE ‘ /tmp/filename.csv ‘ replace INTO TABLE FIELDS TERMINATED BY ‘,’ LINES TERMINATED BY ‘\n’ ( field1,field2,field3 );

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

Создание нового пользователя — подключение к серверу MySQL под root, переключение к базе данных, добавление пользователя, обновление привилегий:

# mysql -u root -p mysql use mysql; mysql INSERT INTO user (Host,User,Password) VALUES(‘%’,’ username ‘, PASSWORD(‘ password ‘)); mysql flush privileges;

Изменений пользовательского пароля из консоли на удаленном хосте db1.example.org :

# mysqladmin -u username -h db1.example.org -p password ‘ new-password ‘

Изменение пользовательского пароля из консоли MySQL — подключение под root, обновление пароля, обновление привилегий:

# mysql -u root -p mysql SET PASSWORD FOR ‘ user ‘@’ hostname ‘ = PASSWORD(‘ passwordhere ‘); mysql flush privileges;

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

# /etc/init.d/mysql stop # mysqld_safe —skip-grant-tables & # mysql -u root -p mysql> use mysql; mysql> update user set password=PASSWORD(» newrootpassword «) where User=’root’; mysql> ; flush privileges; mysql> quit # /etc/init.d/mysql stop # /etc/init.d/mysql start # mysqladmin -u root password newpassword

Обновление пароля root:

# mysqladmin -u root -p oldpassword newpassword

Установка права на подключение к серверу с хоста localhost с паролем » passwd » — подключение подroot, переключение к базе данных, установка привилегий, обновление привилегий:

# mysql -u root -p mysql> use mysql;

mysql grant usage on *.* to bob @localhost identified by ‘ passwd ‘;

mysql> flush privileges;

Установка привилегий пользователю на использование базы данных — подключение под root, переключение к базе данных, установка привилегий, обновление привилегий:

# mysql -u root -p mysql> use mysql; mysql> INSERT INTO db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv) VALUES (‘%’,’databasename’,’username’,’Y’,’Y’,’Y’,’Y’,’Y’,’N’); mysql> flush privileges;

или

mysql> grant all privileges on databasename .* to username @localhost; mysql> flush privileges;

Обновление информации в базе данных:

mysql> UPDATE SET Select_priv = ‘Y’,Insert_priv = ‘Y’,Update_priv = ‘Y’ where = user’;

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

mysql> DELETE from where = ‘whatever’;

Обновление привилегий в базе данных:

mysql> flush privileges;

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *