Загрузка...
Данная статья задумывалась как простой вариант установки архивной версии MySQL Community (GPL), так называемой noinstall версии. Здесь не будет каких-либо рекомендаций по безопасности или производительности, только лишь простой разбор пунктов:
1. Скачивание файла - с официального сайта сайта www.mysql.com
далее распакую архив в каталог d:\mysql\mysql-5.7.16-winx64\ и дополнительно создадим каталоги data и logs
Также в архиве с версией mysql 5.7.16 присуствует файл my-default.ini с очень скудными закомментированными настройками.
Сразу хотел бы обратить ваше внимание на то, что согласно документации в версиях выше 5.7.18 включительно файл my-default.ini больше не входит в архив:
и действительно, в архиве mysql-5.7.18-winx64.zip данный файл уже отсуствовал.
Ну что ж, архив скачан, распакован, также созданы дополнительные каталоги. Теперь необходимо создать или отредактировать под наши задачи конфигурационный файл, сразу хотелось бы предупредить, что данный конфигурационный файл, который будет представлен ниже не является истиной в последней инстанции, он является только тестовым и для реального "боевого" сервера он не годится:
my-default.ini
[mysql]
character_sets_dir = d:\\mysql\\mysql-5.7.16-winx64\\share\\charsets
default-character-set=cp866
[mysqld]
innodb_buffer_pool_size = 128M
basedir = d:\\mysql\\mysql-5.7.16-winx64
datadir = d:\\mysql\\mysql-5.7.16-winx64\\data
port = 3308
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
character_set_server = utf8mb4
collation_server = utf8mb4_unicode_ci
secure-file-priv=d:\\c\\base\\mysql_test
character_sets_dir = d:\\mysql\\mysql-5.7.16-winx64\\share\\charsets
default_storage_engine = InnoDB
general_log = 1
general_log_file = d:\\mysql\\mysql-5.7.16-winx64\\logs\\MySQL-5.7_queries.log
log_error = d:\\mysql\\mysql-5.7.16-winx64\\logs\\MySQL-5.7_error.log
innodb_log_file_size = 128M
Данный файл перед тем как выкладывать его я естественно потестировал, как минимум на то, что поднимется служба или нет. Хотел бы особо обратить внимание на порт, т.к. у меня ещё периодически запускается OpenServer, то я решил не использовать порт по умолчанию 3306, а заменить его к примеру на 3308. Также не стану менять имя файла c my-default.ini на my.ini, чтобы потестировать явное указание конфиги для службы.
Конфигурационный файл создан и сервер готов к инициализации, на этапе которого создадутся нужные файлы в каталоге d:\mysql\mysql-5.7.16-winx64\data\, лог файлы в каталоге d:\mysql\mysql-5.7.16-winx64\logs\, временный пароль для суперпользователя root.
Чтобы запустить сервер MySQL необходимо запустить консоль (cmd) от имени пользователя с админскими правами и перейти в каталог, чтобы не прописывать весь путь каждый раз:
в консоли необходимо запустить утилиту mysqld.exe с парой параметров: --defaults-file, --initialize, --console. Параметр --defaults-file не обязателен, если конфигурационный файл будет назван классически, например my.ini и сервер сам сумеет его найти. Если нет, то с помощью данного параметра мы укажем путь к кофигурационному файлу:
mysqld --defaults-file=d:\\mysql\\mysql-5.7.16-winx64\\my-default.ini --initialize --console
вставляем/набираем данную команду в консоле и жмём Enter:
После непродолжительного времени команда завершит свою работы, в качестве последней строки будет указан временный пароль для супер пользователя root, который неоходимо будет заменить при первом подключении к СУБД.
Как проверить отработал ли параметр --defaults-file с нестандартным именем файла? В конфиге my-default.ini был указан параметр innodb_log_file_size со значением 128 Мегабайт, в каталоге data и были созданы два файла с таким размером:
если бы файл был игнорирован, то данные файлы были бы по 48 Мегабайт.
Ну что ж, все нужные для работы файлы созданы, можно приступать к первому запуску MySQL сервера. Данная процедура также производится из консоли с помощью команды:
mysqld --defaults-file=d:\\mysql\\mysql-5.7.16-winx64\\my-default.ini --console
Сервер MySQL запущен!!!
Обратите внимание, данная команда может быть завершена только принудительно, либо закрытием консоли, либо сочетанием клавишь Ctrl+C.
Итак, MySQL сервер запущен на порту 3308 - пробуем подключиться к нему под пользователем root тоже из консоли, только уже запущенной из-под обычного пользователя и не забываем про временный пароль:
немного поясню, mysql.exe - это консольная утилита для подключения, -P - заглавная буква означает порт(port), -u - пользователь(user), -p - пароль(password) - жмём Enter и вводим временный пароль и снова Enter.
Если всё прошло успешно, то вы увидите Сердечное приветствие!
Попробуем посмотреть список баз с помощью команды:
show databases;
при попытке это сделать, нам будет предложено поменять пароль!!!
ALTER USER 'root'@'localhost' IDENTIFIED BY '123';
пароль успешно изменён, теперь перелогинимся с новым паролем:
\q - выход из mysql
В консоле, где запущен сервер MySQL завершаем его путём нажатия сочетанием клавишь Ctrl+C
После успешной проверки настроек сервера MySQL приступик с созданию службы, чтобы каждый раз не запускать сервер вручную (mysqld.exe с параметрами).
Для создания службы запустим утилиту mysqld.exe с параметрами:
mysqld --install MYSQL5.7.16 --defaults-file=d:\\mysql\\mysql-5.7.16-winx64\\my-default.ini
где --install параметра указывающий, что необходимо создать службу,
MYSQL5.7.16 - имя службы(но можно назвать и по другому),
--defaults-file - параметр указывающий на месторасположение и имя конфигурационного файла.
служба успешно установлена, об этом свидетельствует сообщение: "Service successfully installed."
Запустим её с помощью команды net start с указанием имени службы:
net start MYSQL5.7.16
с помощью утилиты services.msc можно запустить графический интерфейс по управлению службами, если планируете из данного интерфейса перезапускать службы, то надо запускать из-под администраторской учётки:
чтобы посмотреть свойства службы MYSQL5.7.16 - правой кнопкой один раз кликаем по ней и заходим в свойства:
В окне свойств можно увидеть как имя службы, так и конфигурационный файл:
Служба установлена. При загрузке Windows сервер MySQL будет запущен автоматически.
Осталось проверить подключение с консоли:
Подключение с новым паролем 123 прошло успешно. Переходим к удалению службы.
В данном пункте будет показан способ удаления службы, если например необходимо её назвать по другому и т.д.
Прежде чем службу можно будет удалить, её необходимо остановить с помощью команды:
net stop MYSQL5.7.16
после остановки службы удаляем её:
mysqld --remove MYSQL5.7.16
служба успешно удалена, о чём свидетельствует сообщение "Service successfully removed."
Итог: В данной статье рассмотрена установка службы из noinstall пакета с простым набором параметров в конфигурационном файле. Чтобы обеспечить полный функционал и безопасность MySQL-сервера необходимо более детально его настраивать. Если вы решили установить подобным образом всё что указно выше, вы это делаете на свой страх и риск.