MySQL для Windows может понадобиться для разработки и нормальной работы приложений, включая локальные Web-приложения, в среде этой операционной системы. За основу возьмем MySQL 8.0, например 8.0.46, так как данная версия достаточно современная и при этом поддерживается в Windows 7 (в статье так обозначены Windows 7/8/8.1). Для 32-разрядной Windows нужно устанавливать предыдущую версию – MySQL 5.7, например 5.7.44 (для win32).
Будем устанавливать MySQL из дистрибутива в виде zip-архива, несмотря на то что в версии 8.0 еще не появился Конфигуратор (mysql_configurator.exe). Чтобы настроить конфигурацию сервера MySQL, можно использовать MySQL Installer – особой установщик, включающий в себя помимо сервера и другие компоненты, например MySQL Workbench. Однако для лучшего понимания деталей не будем использовать этот способ. Кроме того, MySQL Installer 8.0 – финальный выпуск, т.е. этот установщик больше не развивается (не путать с дистрибутивом сервера в виде MSI-файла):
Note: MySQL 8.0 is the final series with MySQL Installer. As of MySQL 8.1, use a MySQL product's MSI or Zip archive for installation. MySQL Server 8.1 and higher also bundle MySQL Configurator, a tool that helps configure MySQL Server.
Распакуем архив, например, в папку D:\Programs\MySQL\8.0 (папка 8.0 вложена в папку MySQL, чтобы можно было иметь несколько версий внутри общей папки MySQL). Для одной из имеющихся версий MySQL добавим к текущему значению переменной среды Path полное имя папки bin (через точку с запятой), например:
текущее\значение;D:\Programs\MySQL\8.0\bin
Создадим
- папку C:\ProgramData\MySQL\8.0\Data (можно пропустить),
- папку C:\ProgramData\MySQL\8.0\Uploads (можно в Конфигураторе),
- конфигурационный файл C:\ProgramData\MySQL\8.0\my.ini (см. далее).
В распакованном архиве отсутствует образец конфигурационного файла. Можно скачать конфигурационный файл и отредактировать его (для версии 8.0 и выше, вплоть до последней на данный момент версии 9.7; для версии 5.7). А начиная с версии 8.1 – создать его Конфигуратором (и тоже отредактировать). Также есть особый трюк для версии 8.0 в Windows 7. В этой паре тоже можно использовать Конфигуратор (из версии 8.1 и выше)! Он создаст конфигурационный файл, но не создаст хранилище, потому что произойдет сбой из-за отсутствия поддержки со стороны операционной системы, например такой:
mysqld.exe - Точка входа не найдена
Точка входа в процедуру AddDllDirectory не найдена в библиотеке DLL KERNEL32.dll.
Нам нужен этот сбой, потому что мы будем создавать хранилище для версии 8.0.
В Windows 7 понадобится пакет Microsoft Visual C++ 2015-2022 Redistributable. Последняя версия пакета, совместимая с Windows 7, – 14.44.35211.0 (14.50.x.x уже не совместима): для x64, для x86 (и в дополнение к x64). MySQL Installer и Конфигуратор потребуют Microsoft .NET Framework (версия 4.8 без обновления 4.8.1 подойдет для Windows 7 и ранних сборок Windows 10).
Конфигурационные файлы для версий, начиная с 8.0, не отличаются по существу. Могут отличаться адреса страниц документации, имена папок, размеры буферов и временных таблиц, например такие параметры и комментарии:
# https://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html # basedir="D:/Programs/MySQL/8.0/" datadir="C:/ProgramData/MySQL/8.0/Data" secure-file-priv="C:/ProgramData/MySQL/8.0/Uploads" tmp_table_size=23M myisam_sort_buffer_size=38M read_buffer_size=76K
Размеры по умолчанию можно найти в описании соответствующих параметров на странице документации, однако они вполне могут не совпадать с размерами, которые устанавливают MySQL Installer и Конфигуратор.
В конфигурационном файле для версии 8.0 явно прописан параметр политики многофакторной аутентификации, но со значением по умолчанию:
# Administers multifactor authentication (MFA) capabilities. It applies to the authentication # factor-related clauses of CREATE USER and ALTER USER statements used to manage MySQL account # definitions, where "factor" corresponds to an authentication method or plugin associated # with an account. authentication_policy=*,,
Если нужен вывод всех запросов в текстовые лог-файлы, в параметре log-output нужно заменить значение NONE на FILE, а в general-log и/или slow-query-log – значение 0 на 1. Имена этих лог-файлов обычно определены в любом случае.
Создадим хранилище (инициализируем содержимое папки Data, в которой будут храниться базы данных), если этого не было сделано в Конфигураторе:
mysqld --defaults-file="C:\ProgramData\MySQL\8.0\my.ini" --initialize[-insecure] [--console]
Квадратные скобки обозначают элемент, который можно опустить. Если указать --initialize, то начальный пароль суперпользователя root будет выведен в начале лог-файла ошибок (Data\COMPUTER.err). А если указать --initialize-insecure, этот пароль будет пустым. Если указать --console, лог будет выводиться на экран. Там же можно будет увидеть начальный пароль, если он не пустой.
Установим сервер MySQL в виде службы Windows с именем MySQL80, если этого не было сделано в Конфигураторе:
mysqld --install[-manual] "MySQL80" --defaults-file="C:\ProgramData\MySQL\8.0\my.ini"
Все команды управления службой нужно выполнять от имени администратора. Если указать --install, служба будет установлена для запуска «Автоматически». Если указать --install-manual, служба будет установлена для запуска «Вручную».
В дальнейшем можно управлять запуском и типом запуска службы при помощи оснастки «Службы» (services.msc), утилит sc, net и т.п.
Запустим службу, например, так (можно сразу протестировать автоматический запуск службы – перезагрузить систему, не выполняя эту команду):
sc start "MySQL80"
Для удаления службы можно использовать следующую команду (сначала нужно остановить службу):
mysqld --remove "MySQL80"
В завершение установим «постоянный» пароль суперпользователя root (можно не указывать параметр -p, если начальный пароль пустой):
mysql -u root -p
Введем начальный пароль, если потребуется, и после входа в mysql выполним следующий запрос («постоянный» пароль нужно указать вместо слова «пароль»):
ALTER USER 'root'@'localhost' IDENTIFIED BY 'пароль';
После выполнения этого запроса можно выйти из mysql (quit). Установка MySQL полностью завершена. Можно приступать к созданию обычных пользователей и баз данных.
Комментарии: 0
Отправить комментарий