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

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.
Мотивационное фото
Мотивационное фото

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

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

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

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

Мотивация

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

  • Изучаем переменные среды в Windows 10

  • Переменные среды Windows

  • Переменные среды Windows 10-11

  • не могу не отметить инструкцию для MySQL на английском с непереводимым, но очень метким названием "Put MySQL in PATH"

  • а также переведенную, очевидно, машинным способом, с китайского языка статью на портале "Русские блоги" с фотками китайской версии Windows - такая у нас международная любовь к 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":

  • Команда SET - работа с переменными среды Windows

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

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

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

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

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

  • SetX - создание или изменение переменных среды Windows

  • How do I add to the Windows PATH variable using setx? Having weird problems

Поскольку основная задача - прописать постоянный путь до исполняемых файлов, который распространялся бы на все процессы и сохранялся после перезагрузки компьютера, команда "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. https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D1%80%D0%B5%D0%B4%D1%8B

2. https://learn.microsoft.com/en-us/windows/win32/procthread/environment-variables

3. https://learn.microsoft.com/ru-ru/windows-server/administration/windows-commands/setx

4. https://webistore.ru/administrirovaniye-windows/komanda-setx-sozdanie-i-redaktirovanie-peremennyx-sredy-windows/?ysclid=llo4poe898814645926

Источник: https://habr.com/ru/articles/756650/


Интересные статьи

Интересные статьи

Не так давно в блоге ЛАНИТ на Хабре мы представили вашему вниманию часть нашей методички по JavaScript. Сегодня же предлагаем ознакомиться с ещё одним блоком, который затрагивает самые базовые и необх...
В предыдущей статье мы закончили на том, что добавили в наш учебный язык поддержку строк, указателей, массивов, структур, а так же операции для работы с ними. В этой части мы продолжим расширять дынны...
предыдущая статья Часть 1. История систем автоматизациипредыдущая статья Часть 2. Немного про ПЛКВарианты реализации функций модификации прикладной программы без отключения контроллера (сохранения сос...
В предыдущей статье мы познакомились с общей идеологией симуляции при согласовании импедансов на примере бесплатного ПО. Посмотрим теперь, каких результатов можно ожидать от пакетов, которые использу...
Пару лет назад, человек из Wrike написал серию статей про красную корпоративную культуру, причём во второй части буквально в 3 абзацах был весь смысл 4 статей. Было написано очень завуалировано и мягк...