MySQL — как запустить на Windows, или варианты организации рабочего окружения. Часть 1

от автора

Мотивационное фото

Мотивационное фото

Вместо предисловия

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

Необходимые компетенции: базовые навыки работы с командной строкой (консолью) MS Windows и самой операционной системой ( редактирование реестра, копирование, вставка, удаление объектов, строк в консоли ), 1-2 драгоценных часа жизненного цикла :-).

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

Мотивация

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

Переменная среды́ ( англ. environment variable ) — текстовая переменная операционной системы, хранящая какую-либо информацию, например данные о настройках системы [ 1 ].

Каждый процесс имеет блок среды [окружения], который содержит набор переменных среды и их значений. Существует два типа переменных среды: переменные среды пользователя (устанавливаются для каждого пользователя) и переменные среды системы (устанавливаются для всех) [ 2 ].

Настраивать переменные среды возможно 3-мя способами

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

Ну, это они на своих ламеров пусть страх нагоняют! А у нас, у кулхацкеров, любой код с первого раза работает, как часики! :-Е)

Вариант 1 — через «Панель управления» -> «Система» -> «Дополнительные параметры системы» -> «Переменные среды» ( рис. 1 — 4 ) (через «Свойства» Моего-Твоего-Нашего-Вашего-Общего компьютера получается быстрее).

Рис. 1

Рис. 1
 Рис. 2

Рис. 2
 Рис. 3

Рис. 3
 Рис. 4

Рис. 4

Здесь необходимо создать новую строковую запись с путем до папки «bin», например

C:\mysql\bin

, и перезагрузить компьютер.

 Рис. 5

Рис. 5

Вариант 2 — с помощью редактора реестра. Так делают настоящие кулхацкеры :-). Win+RВыполнить» -> «regedit» -> «Enter»/»OK». Полный путь: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment ( рис. 6 ).

 Рис. 6

Рис. 6

Двойной клик на переменной «Path»-> дописать в конце строки, после знака «;» путь к папке «bin», например

C:\mysql\bin;

( рис. 7 ), -> перезагрузить компьютер.

Рис. 7

Рис. 7

Проверка результатов обновления путей в консоли командой ( рис. 8 ):

echo %path%

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

Рис. 8

Рис. 8
Рис. 9

Рис. 9

Вариант 3 — с помощью консольных команд «set» и «setx«.

Команда «Setx» Создает или изменяет переменные среды в пользовательской или системной среде без необходимости программирования или написания скриптов, а также извлекает значения разделов реестра и записывает их в текстовые файлы [ 3 ].

Доп. материал по команде «set»:

Особенности команды «Setx» [ 4 ]:

  • переменные, созданные или отредактированные через «Setx»на локальном компьютере, будут доступны в будущих окнах командной строки, но не в текущем;

  • переменные, созданные или отредактированные через «Setx»на удалённом компьютере, будут доступны со следующего сеанса входа.

Команда «set» , которая является внутренней для интерпретатора команд (Cmd.exe), задает переменные среды пользователя только для текущего окна консоли [ 3 ].

Доп. материал по команде «SetX»:

Поскольку основная задача — прописать постоянный путь до исполняемых файлов, который распространялся бы на все процессы и сохранялся после перезагрузки компьютера, команда «set» не представляет большого интереса.

Проверка содержимого строкового параметра «Path» осуществляется с помощью команды

echo %path%

Рис. 10

Рис. 10

Как видно на рис. 10 пути выводятся дважды. Очевидно, что представлено содержимое переменных «Path» для среды пользователя и для системного окружения. Проверка через Панель управления подтверждает вывод. Этот факт нужно учитывать при манипуляциях с переменной, особенно при перезаписи путей и удалении подстрок.

При текущем положении попытка запустить MySQL приведет к ошибке ( рис. 11 ).

Рис. 11

Рис. 11

Путь до каталога bin устанавливается командой:

setx /m path "%path%;C:\mysql\bin;"

Если каталог «bin» находится в другой директории, запись команды должна соответствовать полному пути! Командная строка должна быть запущена от имени администратора! Иначе будет ошибка ( рис. 12 ).

Рис. 12

Рис. 12

Запуск консоли от имени администратора характеризуется адресом «C:\Windows\system32». Успешное добавление пути к каталогу «bin» ( рис. 13 ) можно проверить, только запустив новое ( новый процесс ) окно консоли, чтобы обновить содержание переменных среды.

Рис. 13

Рис. 13

Как следует из вывода нового процесса ( консоли ), вначале выводятся пути системного окружения, а затем — пользовательского.

Рис. 14

Рис. 14

В этом же, новом окне, или в другом вновь запущенном окне командной строки можно запускать сервер MySQL, теперь указывая лишь имя исполняемого файла «mysqld» ( рис. 15 — 16 )

Рис. 15

Рис. 15

Аналогичным образом теперь можно запускать и клиент ( рис. 16 ).

Рис. 16

Рис. 16

Варианты с powershell — кому интересно. И на всякий случай — «мануал по powershell от производителя» — еле выпросил. Ну, что ни сделаешь ради любимых читателей :-). Примечательно, что обращение к командам setx в powershell идет через двойное двоеточие аналогично обращению к константам внутри класса, например в PHP:

self::CONSTANT

Итоги и рекомендации

Манипулирование переменными среды ( окружения ), конечно, удобно, т. к. упрощает ввод команд запуска исполняемых файлов, но не во всех случаях. Запустить таким способом, к примеру, 2 или 3 процесса ( сервера ) MySQL одновременно и в одной той же операционной системе уже не получится. Придется запускать каждый процесс, полностью прописывая в командной строке путь до каждой отдельной папки «bin». Кроме того, если запускать MySQL в нескольких экземплярах, как службу, нужно иметь ввиду, что все службы должны иметь уникальные имена. Если же необходимость запускать несколько копий сервера одной и той же СУБД отсутствует, можно смело пользоваться переменными окружения. При частом использовании сервера проще установить MySQL, как службу, и поставить ее на автозапуск, чтобы сервер запускалсся при старте операционной системы. Эти варианты я постараюсь описать в следующих материалах.

Сопутствующие публикации

Как установить СУБД MySQL noinstall ZIP Archive на Windows

Источники

  1. Переменная среды

  2. Environment Variables

  3. windows-commands / setx

  4. Команда SETX: создание и редактирование переменных среды Windows


ссылка на оригинал статьи https://habr.com/ru/articles/756650/


Комментарии

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

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