Mysql exe команды. Как зайти в MySQL – подробное описание всех дверей
Можно не только через PHP. В комплекте с MySQL поставляется консольный клиент для подключения в серверу MySQL. Консольный — это означает, что у программы нет оконного интерфейса, а есть только интерфейс командной строки, в котором обращение к базам данных выполняется с помощью SQL запросов.
Команды для подключения к MySQL в командной строке, а уж тем более сами SQL запросы идентичны и для . В дальнейшем для краткости я буду писать «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 следующим образом:
Cd C:\Server\bin\mariadb\bin\
В этой команде замените C:\Server\bin\mariadb\bin\ на правильный для вашей системы путь
Теперь запустим файл mysql.exe. Необязательно указывать расширение файла.exe — система сама догадается, что мы имеем ввиду. Также нам нужно использовать опцию -u и -p . После первой опции нужно указать имя пользователя — root . После второй опции — пароль для пользователя. В моём случае пароль не установлен, поэтому я запускаю без опции -p :
Mysql -u root
Может показаться, что мало что изменилось, но новое приглашение командной строки
MariaDB [(none)]>
говорит о том, что мы подключены к серверу MySQL. Точнее, в моём случае мы подключены к серверу MariaDB.
Чтобы посмотреть список баз данных, введём команду:
SHOW DATABASES;
Чтобы последующие запросы отправлялись к определённой базе данных (например, к test), используется команда USE :
USE test;
Чтобы посмотреть таблицы в выбранной базе данных запустите команду:
SHOW TABLES;
Создадим какую-нибудь таблицу:
CREATE TABLE AuthorsTBL (AuthorID INT NOT NULL AUTO_INCREMENT, AuthorName VARCHAR(100), PRIMARY KEY(AuthorID));
И вновь посмотрим содержимое базы данных test.
Для Win 32 выбираем дистрибутив: Windows (x86, 32-bit), Zip-Archive.
Для Win 64: Windows (x86, 64-bit), Zip-Archive.
После нажатия на кнопку Download вы увидите форму для регистрации, ее можно пропустить, нажав на ссылку внизу — No thanks, just take me to the downloads .
2. Создаем папку установки. Например . И распаковываем в нее содержание архива таким образом, чтобы папки bin, data, docs и прочие были в корне папки установки.
3. Переходим к созданию конфигурационного файла (my.ini). За основу берем один из типовых файлов:
- my-small.ini — подойдет тем, кто использует MySQL время от времени и не хочет, чтобы сервер занимал много ресурсов.
- my-medium.ini — тоже не требовательная к ресурсам конфигурация, но подойдет тем, кто использует MySQL на постоянной основе (хороший выбор для для домашнего веб-сервера).
- my-large.ini и my-huge.ini — для систем, использующихся как выделенный MySQL сервер. Впрочем, my-large.ini можно использовать для домашнего сервера, если нужна дополнительная производительность MySQL (512 Мб оперативной памяти не так уж и много по нынешним временам).
- my-innodb-heavy-4G — для выделенных серверов, имеющих от 4 Гб оперативной памяти и использующих только таблицы типа InnoDB.
В этом примере за основу я выбрал my-medium.ini. Переименовываем его в my.ini и размещаем в корне папки установки (C:\Program Files\MySQL\MySQL Server 5.5 ).
Открываем для редактирования (в обычном Блокноте) и сразу после строчки дописываем два параметра:
Basedir=C:/Program Files/MySQL/MySQL Server 5.5 datadir=C:/Program Files/MySQL/MySQL Server 5.5/data
Обратите внимание, что в путях используется прямой слэш (/), а не обратный (\).
basedir — это путь к папке установки.
datadir — путь к папке данных (где хранятся все БД). Иногда имеет смысл разместить данные на отдельном диске, чтобы повысить производительность или обеспечить надежность.
На всякий случай привожу фрагмент конфигурационного файла, после внесения изменений:
# The MySQL server basedir=C:/Program Files/MySQL/MySQL Server 5.5 datadir=C:/Program Files/MySQL/MySQL Server 5.5/data port = 3306 socket = /tmp/mysql.sock skip-external-locking key_buffer_size = 16M max_allowed_packet = 1M table_open_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M
4. Следующий этап — добавить путь C:\Program Files\MySQL\MySQL Server 5.5\bin в переменную среды PATH, чтобы упростить запуск MySQL из командной строки. Для этого открываем Свойства системы -> Дополнительные параметры системы -> на закладке Дополнительно в самом низу кнопка «Переменные среды…». В открывшемся окне пролистываем системные переменные пока не найдем Path. Выделяем эту строку и нажимаем «Изменить…». В конце строки дописываем свой путь, сохраняя существующие параметры:
Обратите внимание, что пути разделяются точкой с запятой. Убедитесь, что в начале и в конце вашего пути точка с запятой поставлена.
5. Перед тем как осуществить пробный пуск, открываем входящий порт TCP 3306 в брандмауэре Windows:
Если в системе установлен дополнительный брандмауэр, то в нем также необходимо открыть порт TCP 3306 для входящих подключений.
6. Теперь осуществляем тестовый запуск. В командной строке, запущенной от имени администратора (это обязательно, если на Семерке или Висте включен UAC), выполняем:
Mysqld --console
На экран будет выведено несколько строк. Если запуск прошел успешно, то последняя строка будет выглядеть примерно так:
Version: "5.5.9-log" socket: "" port: 3306 MySQL Community Server (GPL)
Оставляем это окно открытым, и открываем еще одно окно командной строки, в котором вводим:
Mysql -u root
Если подключение прошло без ошибок, вы увидите приглашение командной строки: mysql>
Посмотрим какие базы у нас есть:
Show databases;
Точка с запятой в конце SQL-запроса ОБЯЗАТЕЛЬНА!
Ответ команды:
Теперь мы окончательно убеждены, что сервер работает.
7. Переходим к следующему этапу — необходимо установить пароль администратора MySQL (пользователь root). По умолчанию пароль не установлен, и это надо исправить. В том же окне MySQL вводим следующие команды:
Use mysql UPDATE user SET password = PASSWORD("ваш_пароль") WHERE user = "root";
Проверяем результат:
SELECT user, host, password FROM user;
Как видно на скриншоте колонка password заполнена, значит пароль установлен.
Перед выходом выполняем команду:
FLUSH PRIVILEGES;
Теперь при подключении необходимо вводить пароль. Для этого используем ключ -p:
Mysql -u root -p
Для завершения работы MySQL выполняем:
Mysqladmin -u root -p shutdown
8. Последний этап — запуск MySQL в качестве системной службы Windows.
Убедитесь, что в системе нет активных процессов MySQL.
В командной строке, запущенной от имени администратора, выполняем:
"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --install
Путь к mysqld необходимо указывать полностью (даже если он прописан в PATH)!
Для запуска службы, открываем «Управление компьютером», и вручную запускаем службу MySQL:
Или проще через командную строку:
Net start mysql
Для удаления службы, предварительно ее останавливаем:
Net stop mysql
и выполняем:
"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --remove
Ниже предоставлен список наиболее полезных и часто используемых команд MySQL с примерами.
mysql в начале строки означает, что команда выполняется после входа вMySQL .
Символ # или $ в начале строки означает, что команда выполняется из командной строки.
Что бы проверить статус сервера MYSQL выполните:
для FreeBSD :
# service mysql-server status
в CentOS / RHEL :
# service mysqld status
MySQL из консоли, если сервер MySQL находится на том же хосте:
Что бы подключиться к серверу MySQL из консоли, если сервер MySQL находится на удаленном хосте db1.example.com:
$ mysql -u username -p -h db1.example.com
Работа с базами, таблицами - просмотр, удаление, редактирование записей. Консоль
Создать базу данных на MySQL сервере:
Mysql create database
Показать список всех баз данных на сервере MySQL :
Mysql use ;
Отобразить все таблицы в базе данных:
Mysql show tables;
Просмотреть формат таблицы в базе:
Mysql describe ;
Удалить базу:
Mysql drop database ;
Удалить таблицу из базы:
Mysql drop table ;
Показать все содержимое таблицы:
Mysql SELECT * FROM ;
Отобразить столбцы и содержимое столбцов в выбранной таблице:
Mysql show columns from ;
Отобразить строки в определенной таблице, содержащие " whatever ":
Mysql SELECT * FROM WHERE = "whatever";
Отобразить все записи в определенной таблице, содержащие " Bob " и телефонный номер " 3444444:
Mysql SELECT * FROM WHERE name = " Bob " AND phone_number = " 3444444 ";
Отобразить все записи, НЕ содержащие имя " Bob " и телефонный номер " 3444444 ", отсортированные по полю phone_number:
Mysql SELECT * FROM WHERE name != " Bob " AND phone_number = " 3444444 " order by phone_number;
Показать все записи, начинающиеся с букв " bob " и телефонного номера " 3444444 " в определенной таблице:
Mysql SELECT * FROM WHERE name like " Bob %" AND phone_number = " 3444444 ";
Показать все записи, начинающиеся с букв " bob " и телефонного номера " 3444444 ", ограничиваясь записями с 1-ой до 5-ой:
Mysql SELECT * FROM WHERE name like " Bob %" AND phone_number = " 3444444 " limit 1,5;
Использование регулярных выражений ("REGEXP BINARY") для поиска записей. Например, для регистро-независимого поиска - найти все записи, начинающиеся с буквы А:
Mysql SELECT * FROM WHERE rec RLIKE "^ a ";
Показать все уникальные записи:
Mysql SELECT DISTINCT FROM ; mysql SELECT , FROM ORDER BY DESC;
Показать количество строк в таблице:
Mysql SELECT COUNT(*) FROM ;
Mysql SELECT SUM(*) FROM ;
Удаление столбца:
Mysql alter table drop column ;
Добавление колонки в базу данных:
Mysql alter table add column varchar (20);
Изменение имени столбца:
Mysql alter table change varchar (50);
Создать столбец с уникальным именем, что бы избежать дубликатов в названиях:
Mysql alter table add unique ();
Изменение размера столбца:
Mysql alter table modify VARCHAR(3);
Удаление столбца из таблицы:
Mysql alter table drop index ;
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 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
Set a root password if there is on root password.
# 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;
Резервные копии - создание, восстановление бд. Консоль
Создать резервную копию (dump) всех баз данных в файл alldatabases.sql:
# mysqldump -u root -p password -opt ; /tmp/alldatabases.sql
Создать резервную копию одной базы данных в файл databasename.sql:
# mysql dump -u username -p password -databases databasename ; /tmp/databasename.sql
Создать резервную копию одной таблицы в файл databasename.tablename.sql:
# mysql dump -c -u username -p password databasename tablename ; /tmp/databasename.tablename.sql
Восстановление базы данных (или таблицы) из резервной копии:
# mysql -u username -p password databasename < /tmp/databasename.sql
Создание таблиц БД. Консоль
маленькими буквами указаны имена столбцов;
ПРОПИСНЫМИ буквами - типы и атрибуты столцов;
в (скобках) - значение типа столбца.
Создать таблицу, пример 1:
mysql CREATE TABLE (firstname VARCHAR(20), middleinitial VARCHAR(3), lastname VARCHAR(35), suffix VARCHAR(3), officeid VARCHAR(10), userid VARCHAR(15), username VARCHAR(8), email VARCHAR(35), phone VARCHAR(25), groups VARCHAR(15), datestamp DATE, timestamp TIME, pgpemail VARCHAR(255));Создать таблицу, пример 2:
Mysql create table (personid INT(50) NOT NULL AUTO_INTCREMENT PRIMARY KEY, firstname VARCHAR(35), middlename VARCHAR(50), lastname VARCHAR(50) default "bato");
Расскажу немного о том как пользоваться базой данных mysql через консоль, то есть без использования стандартного редактора phpmyadmin. Вообще материалов на эту тему в интернете полно, но там либо слишком много не нужного обычному пользователю, либо слишком скудные описания.
Начало работы с mysql
Ну во первых начнем с того как зайти в mysql, для этого надо в консоли набрать:
Mysql -uusername -ppassword -hhost
Итак мы в командной строке mysql. Не забываем один важный момент: разделителем комманд mysql является «;» (точка с запятой).
Теперь необходимо создать базу данных или выбрать уже созданную:
Create database db_name; - создаем новую бд с названием db_name show databases; - просмотр имеющихся бд use db_name; - выбрать бд с именем db_name
Вобщем мы выбрали (или создали) необходимую нам бд а теперь просмотрим команды для работы с таблицами:
Show tables; - просмотр всех таблиц show columns from table_name; - просмотр колонок и их свойств create table table_name (`id` int(11) AUTO_INCREMENT,`name` varchar(255)); - создание таблицы с колонками id и name alter table table_name add column1 int(11); - добавить колонку в таблицу alter table table_name drop column1; - удалить колонку из таблицы
Ну а просмотр, удаление, добавление данных делается стандартными, всем известными командами…
Рассмотрим пример с SELECT:
SELECT * FROM table_name;
Скорее всего вы увидите вместо кириллицы разнообразные кракозябры или вопросительные знаки, в зависимости от того какая кодировка в вашей базе данных и в используемой консоли. Чтоб исправить это просто до выборки SELECT вводим команду
SET NAMES utf8; - чаще для линуксовых консолей SET NAMES cp866; - для cmd windows
UPD: в windows нужно указывать полный путь до файла mysql.exe, например C:/apache2/bin/mysql/mysql.exe
Проектирование базы данных – Dia
Конечно для больших проектов создание таблиц способом описанным выше займет очень много времени, и phpmyadmin тоже не является решением. Если вам нужно создать большую базу данных и рассмотреть взаимодействие всех таблиц друг с другом могу посоветовать вам отличный редактор dia. После создания таблиц в данной программе, сохраним его в формате.dia и переконвертируем его в формат.sql:
Tedia2sql -i file.dia -o file.sql
Если вам понадобилось создать или залить дамп базы данных то используем:
Mysql -uusername -ppassword -hhost db_name < file_name.sql - залить бд mysqldump -uusername -ppassword -hhost db_name > file_name.sql - сделать дамп бд
можно заливать из файлов различных форматов, txt например..
Здравствуйте, уважаемые читатель блога , настало время изменить привычному 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
Как и обещал в начале статьи, выкладываю команды для восстановления таблиц. Данные команды могут пригодиться после сбоя сервера.