Как запустить программу mysql

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

Мадмуазель, вы «странная» блондинка!.

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

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

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

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

Как запустить mysql в командной строке [ консоль ]

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

Онлайн курс «PHP-разработчик»

Изучите курс и создайте полноценный проект — облачное хранилище файлов

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

Освоите PHP, MySQL, SQL, фрейсворк Laravel
Научитесь работать со стандартом REST и RESTful API
Упор на практику. Поддержка экспертов

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

Запускаем cmd

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

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

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

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

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

Установка MySQL 8 на Windows 10 – пошаговая инструкция для начинающих

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

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

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

Читайте также:
Как перевести программу в машинный код

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

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

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

Работа с сервером из консоли

1. Проверить, прописан-ли вызов сервера MySql в качестве службы Windows.

(Панель управления -> Система и безопасность -> Администрирование -> Службы -> musqld )

bd-1-1

2. Если эта служба не прописана, то добавляем ее.

Добавление службы mysqld

Прописываем полный путь к утилите mysqld.exe в двойных кавычках:

«C:OSPanelmodulesdatabaseMySQL-5.7-x64binmysqld.exe»

—install «mysqld» ( назначаем имя службы — «mysqld»)

После этого указываем следующую команду (путь к файлу настроек):

—defaults-file=»C:OSPanelmodulesdatabaseMySQL-5.7-x64my.ini»

Жмем Enter и получаем:

Service successfully installed

C:UsersАдминистратор>

bd-1-2

Удаление службы mysqld

Для удаление службы mysqld в командной строке пропишем:

C:UsersАдминистратор>sc delete mysqld [Enter]

— служба будет удалена

Запуск службы mysqld

Обновим вкладку » Службы » — появится новая служба — mysqld , в ее свойствах выбрать » Тип запуска: » — Вручную

Для того, чтобы запустить эту службу, запишем:

C:UsersАдминистратор>net start mysqld [Enter]

Жмем «Enter» и получаем:

bd-1-3

Если обновим вкладку «Службы» — увидим, что служба mysqld — работает

bd-1-4

Подключение к серверу

Для подключение к серверу небходимо указать путь к утилите mysql.exe :

C:UsersАдминистратор>C:OSPanelmodulesdatabaseMySQL-5.7-x64binmysql -u root [Enter]

Если указан пароль — -p :

C:UsersАдминистратор>C:OSPanelmodulesdatabaseMySQL-5.7-x64binmysql -u root -p [«Enter»]

Жмем «Enter» и будет запрошен пароль

Для того, чтобы не набирать постоянно путь к утилите, необходимо прописать путь .

Чтобы прописать путь выбираем:
-> свойства компьютера,
-> дополнительные параметры,
-> переменные среды,
-> в системных переменных находим Path (путь),
-> жмем «изменить»,
-> в изменении системной переменной мы идем в конец, добавляем точку с запятой и добавляем новый путь:
C:OSPanelmodulesdatabaseMySQL-5.7-x64bin ( оканчивается на bin )

Затем перезапускаем командную строку.

Теперь, чтобы подключится к серверу, достаточно написать:

C:UsersАдминистратор>mysql -u root [«Enter»]

bd-1-5

Commands end with ; or g — команды окончания запроса ( точка с запятой или g ),

Your MySql connection id is 3 — номер нашего соединения с сервером — 3,

Введя h и нажав «Enter»- увидим список всех возможных команд,

c — очистить текущий оператор ввода.

exit; или q — выход из MySql

Выход из монитора mysql

Чтобы выйти из монитора:

mysql>exit; [«Enter»]
Bye

ЗАВЕРШЕНИЕ РАБОТЫ С СЕРВЕРОМ

Закрываем соединение и завершаем работу с сервером:

C:UsersАдминистратор>net stop mysqld [«Enter»]
Служба «mysqld» останавливается.
Служба «mysqld» успешно остановлена.
C:UsersАдминистратор>

КОМАНДЫ ДЛЯ РАБОТЫ НА СЕРВЕРЕ

Просмотр баз данных на сервере

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

show databases; .

SQL — является языком регистронезависимым, и операторы принято писать в верхнем регистре:

SHOW DATABASES; ,

а имена баз данных, имена таблиц — пишутся в нижнем регистре.

bd-1-6

Если произойдет ошибка: ERROR 2013 (HY000): lost connection to mysql during query (потеряно соединение с MySQL во время запроса), то можно попробовать увеличить connect_timeout в файле my.ini .

Читайте также:
Составьте программу вычисления значения функции y 3x 2 4

Рекомендуемое значение составляет 10 секунд.

Или набрать в консоли:

mysql> SET GLOBAL connect_timeout = 10;

Выбор базы данных

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

mysql> use [нужная база данных] [точка с запятой не нужна]

— здесь точка с запятой не используется , поскольку use — не является оператором (командой) MySQL, а является командой консоли.

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

mysql> show tables; [с точкой с запятой]

Источник: phpabstract.ru

1234ru / mysql-win.md

Нужно выбрать каталог, где MySQL будет хранить файлы баз данных и некоторые служебные файлы. Рекомендуется это сделать вне каталога сервера MySQL, т.к. файлы БД следует рассматривать независимо от конкретной инсталляции/версии.

Затем нужно создать файл my.ini , поместив его в корневой каталог сервера MySQL (т.е. рядом с bin и пр.; my.ini в корневом каталоге запуска сервер будет пытаться найти и прочитать автоматически). Содержимое файла должно быть следующим:

[mysqld] datadir = ‘D:/s/.mysql-datadir’ character_set_server = utf8 sql_mode = skip-networking = 1 named-pipe = 1 local_infile = 1 # С версии 8.0 skip_log_bin = 1 # С версии 8.0 против долгого waiting for handler commit при вставках # log-syslog = 0 # До версии 5.7 включительно [client] # mysql, mysqldump, mysqladmin user = someone password = «a password» pipe loose-local-infile = 1 # С версии 8.0 для LOAD DATA LOCAL INFILE [mysqldump] # С версии 8.0 # https://dba.stackexchange.com/a/273040 no-tablespaces = 1 # чтобы не нужна была привилегия PROCESS single-transaction = 1 # чтобы не нужна была привилегия LOCK TABLES

Указание datadir является обязательным. Без этого сервер не запустится. Обратный слэш ( ), стандартно используемый в путях Windows, интерпретируется как экранирующий и образующий управляющие последовательности ( n , s и др.) символ, поэтому его самого нужно экранировать или же использовать вместо него прямой слэш:

datadir = «D:\somedir\data» datadir = «D:/somedir/data»

Как правило, данные требуют хранения в кодировке UTF-8. Настройка character_set_server позволяет избежать явного указания кодировки при каждом случае создания базы данных или таблицы.

Если при запуске сервера возникают сообщения об ошибках насчет невомзожности записи в системный журнал событий Windows, можно добавить в my.ini запись log-syslog = 0 .

Все настройки сервера перечислены здесь и здесь.

Первый запуск mysqld — инициализация каталога данных

С версии 5.7 нужно проводить первичную инициализацию каталога данных, для чего при первом запуске служит специальный ключ:

mysqld —initialize

Может возникнуть сообщение от брандмауэра Windows, которому нужно указать соотв. разрешения.

Инициализировав каталог данных, сервер завершит работу и вернёт управление командной строке.

В каталоге данных среди прочих будет файл с расширением .err , где можно посмотреть журнал сервера и поискать сообщения об ошибках, если что-то пошло не так.

Второй запуск mysqld — установка пароля пользвателю root

При первом запуске сервера для рута был сгенерирован временный пароль (действительный только на одну сессию) и записан в err-файл. Вместо того, чтобы искать его там, удобнее лишний раз запустить сервер в режиме без проверки прав:

mysqld —skip-grant-tables

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

Создание учетных записей, загрузка данных и дальнейшая работа

Теперь нужно создать учетные записи обычных пользователей и базы данных для них.

Для этого снова запускаем mysqld , уже без каких-либо дополнительных ключей, после чего соединяемся с ним с помощью клиента mysql от имени пользователя root . Теперь потребуется указать пароль:

Читайте также:
При запуске программ выходит ошибка

mysql -u root -p

Далее создаем учетные записи пользователей и базы данных. Как правило, каждому пользователю выделяется своя база данных, к которой он получает полный доступ. Набор команд при этом следующий:

Упрощенный вариант: один пользователь (не root) с доступом ко всем базам — более подходящий вариант для локальной машины, за которой работает один человек и разделение прав доступа ни к чему. В таком случае первая команда выполняется только один раз.

Работа через named pipe

Сервер MySQL на компьютере разработчика обычно принимает соединения только с этого же компьютера. Такие соединения можно принимать через named pipe, а сетевой интерфейс сервера MySQL вообще закрыть за ненадобностью и по соображениям безопасности.

За включение named pipe и отключение сети отвечают две разных настройки (причем второе без первого не сработает). Запуск сервера с ними выглядит следующим образом:

mysqld —named-pipe —skip-networking

Или указать эти же опции в my.ini , чтобы запускать сервер без аргументов:

[mysqld] . named-pipe skip-networking

В каталоге данных появится файл .pid .

Как PHP под Windows, так и различные GUI для работы с базами данных (например, MySQL Workbench, однако не(!) JetBrains DataGrip) умеют устанавливать соединение через named pipe.

Утилитам командной строки ( mysql , mysqladmin и пр.) нужно указывать опцию —pipe .

Настройки для клиента ( [client] )

В конфигурационном файле также можно указать настройки для клиентских программ (например, чтобы не вводить каждый раз пароль и пр.).

В отличие от Linux, конфигурационный файл из домашнего каталога пользователя не читается. Список мест, откуда файлы будут прочитаны, можно посмотреть командой mysql —help (где-то в середине вывода будет фраза Default options are read from the following files in the given order). Можно указыать клиентские настройки в том же файле, что и настройки сервера:

[mysqld] . [client] user = someone password = «a password» pipe

Обновление сервера MySQL

  1. Повторяем пункты 1-3 из раздела Загрузка и подготовка к запуску. Пакет можно разместить в каталоге рядом с имеющимся, чтобы на всякий случай было две версии одновременно.
  2. Открываем командную строку и останавливаем текущую версию сервера: mysqld stop или mysqladmin -u root -pпароль shutdown
  3. Заменяем путь в переменной PATH .
  4. Копируем файл my.ini из старого каталога в новый.
  5. Даём команду на запуск, не забыв необходимые ключи. Например, mysqld —skip-networking —named-pipe . Первый запуск может проходить долго.
  6. Если возникает ошибка про файл с названием вида VCRUNTIME*.dll — значит, нужно обновить версию Microsoft Visual Studio. Скачиваем файл vc_redist.x64.exe с официального сайта Microsoft и запускаем его. После этого повторяем предыдущий пункт, всё должно пройти нормально.
  7. Если сервер все-таки не запускается (завершает работу и отдает управление в командной строке), нужно найти в файл с расширением *.err в каталоге для хранения данных и посмотреть, что там написано.
    Один из вариантов решения проблемы — сначала запустить сервер с ключом —initialize , и после того, как он завершит работу, запустить его снова уже в штатном режиме.
    *Замечено, что при обновлении с версии 5.7 при запуске над теми же данными (без перезаливки) сервер требует запуска два-три раза подряд, и только последний из них проходит успешно.
  8. Выполняем запрос SELECT VERSION() , убеждаемся, что запущена обновлённая версия сервера.

Источник: gist.github.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru