Материалы по программированию
« Содержание »
Portable MySQL 5.7 в Windows

В статье представлена установка и настройка портативного варианта базы данных MySQL 5.7 Community Server на Windows из zip архива. Описаны все действия - загрузка zip архива с дистрибутивом MySQL сервера, организация каталогов, настройка конфигурации, инициализация, запуск и подключение к серверу из программы MySQL Workbench. Статья так же содержит скринкаст.

 

Назначение портативной установки MySQL 5.7 в Windows

Портативный вариант инсталляции базы данных MySQL в OS Windows может быть особо удобным для организации среды web разработки для приложений, рассчитанных под LAMP. Конечно, в идеальном случае, для LAMP веб разработки лучше работать в OS Linux, но для тех случаев, когда это по каким-либо причинам невозможно, приходиться организовывать нужное окружение на Win машине. Для этих целей существуют разные подходы и варианты сборок WinAMP для организации среды для web разработки. Однако в таких сборках база данных MySQL представлена в минимальном, урезанном варианте и часто не в самой свежей и последней версии. Поэтому, как раз для того, чтобы иметь свой полный и актуальный вариант portable установки MySQL сервера и есть смысл делать такую инсталляцию. Ее можно разместить прямо в каталоге вашей WAMP сборки, и использовать вместо имеющейся там изначально версии MySQL. Или вообще можно собрать свою WAMP сборку, установив в нее самостоятельно MySQL и другие компоненты, и выполнив их настройку и связку.

Основные преимущества такого варианта инсталляции MySQL сервера могут быть в следующем:

  • портативность установки, т.е. вы сможете переносить и использовать MySQL сервер на других PC с Windows. Так же инсталляция не будет связана с системой и не будет прописываться в реестре. Однако, если вам не нужна именно портативная установка, то тогда, наверное, технически будет проще выполнить обычную для Windows установку при помощи MySQL Installer for Windows, который можно скачать на странице загрузки.
  • возможность иметь последую актуальную версию MySQL сервера. Так на момент написания статьи MySQL имеет версию 5.7.13, которая имеет существенные преимущества перед версией 5.6 по производительности и дополнительному функционалу. Чего только стоит появление нового типа данных json, что позволяет хранить в столбце таблицы, извлекать и обрабатывать данные в виде объекта json.
  • независимая настройка базы данных MySQL под свои нужды и возможность использования дополнений и плагинов, входящих в полный дистрибутив MySQL 5.7.13 Community Server.
  • полезный опыт по ручной настройке базы данных MySQL, который даст вам неоспоримые преимущества при самостоятельном развертывании продуктивного LAMP web сервера, т.к. по своей сути все настройки MySQL будут одинаковы как для Windows, так и для Linux OS.

Перейти к скринкасту Установка MySQL 5.7.13 в Windows из zip архива, MySQL Workbench

 

В этой статье все описания и примеры представлены для версии MySQL Community Server 5.7.13, но все это будет так же подходить и для более новых версий MySQL. Однако могут быть нюансы, поэтому, если что либо не будет получаться, то пишите в комментариях и читайте официальную документацию MySQL.

 

Скачивание дистрибутивов MySQL 5.7 и Workbench

Загрузить zip архив с дистрибутивом MySQL Community Server 5.7.13 (mysql-5.7.13-winx64-debug-test.zip) для выполнения portable установки можно с официального сайта, где в низу страницы представлены разные варианты дистрибутивов, в том числе и в формате zip архива. Загрузить программу MySQL Workbench (mysql-workbench-community-6.3.7-winx64-noinstall.zip) можно так же с официального сайта MySQL. На этих страницах загрузки данные дистрибутивы доступны как в варианте универсального инсталлятора для Windows, так и в виде простого zip архива.

Так же для работы MySQL 5.7 в Windows необходимо, что бы в системы были установлены следующие библиотеки:

 

Настройка MySQL

Настройка каталогов MySQL

Загруженный zip архив с дистрибутивом MySQL сервера нужно распаковать в выбранную вами папку. Путь до каталога и само название каталога целесообразно (но не обязательно) создавать такими, что бы они содержали только английские буквы и цифры и не имели пробелов. В таком варианте вам не придется заключать в кавычки пути в конфигурационном файле MySQL. Так же чем короче будет путь, например, "Z:/mysql", тем легче вам его будет править, в особенности при миграции каталога с дистрибутивом между вашими PC. Если вы собираете свою WINAMP сборку, то удобно будет выделить для нее даже отдельный диск.

Распакованный дистрибутив MySQL сервера по умолчанию будет иметь следующую структуру каталогов:

|-- bin
|-- docs
|-- include
|-- lib
|-- share
|-- COPYING
|-- my-default.ini
|-- README

В дополнении к уже имеющимся каталогам нужно создать дополнительно в домашней директории MySQL сервера следующие каталоги:

  • data - каталог для файлов баз данных;
  • files - каталог для файлов, с которыми может работать MySQL сервер;
  • logs - каталог для логов сервера;
  • tmp - каталог для временных файлов.

Эти директории нужно создать самостоятельно вручную, т.к. MySQL сервер сам не создает директории. Позднее, пути к этим папкам будут указываться в конфигурационном файле my.ini. Такой подход позволяет вам удобно организовать структуру домашнего каталога MySQL. Так же, при необходимости, вы можете расположить эти каталоги и вне домашней директории программы MySQL, но это более актуально на продуктивном сервере т.к. позволяет вынести, например, файлы базы данных на отдельный раздел/диск.

 

Создание конфига my.ini

Перед инициализацией или переинициализацией MySQL сервера необходимо создать в корне его домашней директории конфигурационный файл my.ini и записать в него необходимые директивы. Файл my.ini является главным конфигурационным файлом MySQL сервера в Windows. Создать файл my.ini удобно путем копирования файла заготовки my-default.ini. Ниже приводиться пример файла my.ini с необходимыми настройками, которых достаточно для инициализации MySQL. Для более детальной настройки необходимо обращаться к документации MySQL сервера.

В zip дистрибутиве MySQL 5.7.18 файл my-default.ini больше не включается. Поэтому создайте my.ini сами. Это обычный текстовый файл в UTF8. Содержание файла возьмите из статьи ниже.

 

Пример файла my.ini

Ниже приведен пример файла my.ini для портативной установки MySQL сервера в Windows из zip архива. Пути в файле-примере заданы, исходя из того, что домашний каталог MySQL задан как "Z:/mysql" директория.

Приведенный пример файла my.ini предназначен только для первичной инициализации MySQL сервера и тестовой его эксплуатации. Для продуктивной эксплуатации MySQL сервера этот файл необходимо пересмотреть и изменить под ваши требования.
# Пример файла my.ini для mysql-5.7.13-winx64 portable installation
# Только для тестов!
# В примере домашний каталог - Server Root "Z:/mysql"
# Cлеши в путях должны быть ПРЯМЫМИ И ОДИНАРНЫМИ! Завершающий слеш НЕ НУЖЕН.
# Если путь содержит пробелы его нужно обязательно заключать в кавычки.
#
# Ссылки на документацию:
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# http://dev.mysql.com/doc/refman/5.7/en/option-files.html

[client]
# Необязательный блок директив для клиента
port=3306
socket=Z:/mysql/tmp/mysql.sock
default-character-set=utf8

[mysqld]
#Обязательный блок директив для сервера

#Явное указание движка таблиц по умолчанию, не обязательно
default-storage-engine = InnoDB
default_tmp_storage_engine = InnoDB

#кодировки сервера
character-set-server=utf8
collation-server=utf8_general_ci

#Временная зона(не обязательно)
#default-time-zone='+00:00'

#Выделение памяти под буфер innodb
#Для разработческого сервера достаточно 10% от RAM
innodb_buffer_pool_size = 512M

#Пути к папкам с прямыми слешами без завершающего слеша
#Путь к домашней директории сервера
basedir=Z:/mysql

#Путь к директории для файлов баз данных
datadir=Z:/mysql/data

#Путь к директории для экспорта и импорта файлов сервером
#Не обязательный параметр
secure-file-priv=Z:/mysql/files

#IP адрес который будет слушать сервер
bind-address=127.0.0.1
#Порт
port=3306
socket=Z:/mysql/tmp/mysql.sock

#Разкомментировать если не нужно что бы сервер
#использовал ip клиента вместо имени хоста (localhost)
#skip-name-resolve

#LOGS
#Отключить запись в системный лог
log_syslog=0

#Путь к файлу ошибок. Этот файл будет создан сервером
log_error="Z:/mysql/logs/mysql-error.log"
#log_timestamps = UTC

#Не обязательно - логирование медленных запросов
#log-queries-not-using-indexes=1
#slow-query-log=1
#long_query_time=1
#slow-query-log-file="Z:/mysql/logs/mysql-slow.log"

#Не обязательный блок выделения памяти для SQL запросов
#key_buffer_size = 32M
#max_allowed_packet = 32M
#table_open_cache = 2048
#join_buffer_size=128M
#sort_buffer_size = 32M
#read_buffer_size = 32M
#read_rnd_buffer_size = 32M
#myisam_sort_buffer_size = 16M
#max_connect_errors      = 1000000
#option 'net_buffer_length': unsigned value 16777216 adjusted to 1048576
#net_buffer_length = 1M

#Режимы, не обязательно.
# sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysqld-5.7]
sql_mode=TRADITIONAL

[mysqldump]
#Не обязательный блок
quick
#max_allowed_packet = 32M

[mysqladmin]
#Не обязательный блок
force

[mysql]
#Не обязательный блок
no-auto-rehash
#connect_timeout=2

 

Инициализация и переинициализация MySQL сервера

Если MySQL сервер уже был установлен и инициализирован ранее на машине и требуется выполнить его инициализацию/переинициализацию заново/повторно, то необходимо сделать резервные копии всех баз данных на сервере MySQL (кроме служебных), остановить MySQL сервер, удалить содержимое каталога data, если нужно, то обновить дистрибутив MySQL и выполнить все настройки конфигурации, описанные выше и затем можно выполнить инициализацию заново, как это описано ниже.

Когда все каталоги и файл my.ini созданы в домашней директории MySQL сервера, то можно сделать инициализацию или переинициализацию MySQL, которая является первым необходимым действием перед запуском MySQL.  В результате инициализации MySQL сервера будут созданы все необходимые для его работы файлы, базы данных и пользователь root с паролем. Для инициализации MySQL необходимо запустить файл mysqld.exe передав ему параметр initialize. Для выполнения этого перейдите в проводнике Windows в каталог /bin домашней директории MySQL сервера и находясь в этой папке запустите командную строку Windows cmd.exe. Что бы запустить cmd.exe именно в текущей папке зажмите клавишу Shift и щелкните правой кнопкой мыши в текущей папке, и в открывшемся контекстном меню выберите пункт "Открыть меню команд". В таком варианте cmd.exe запуститься именно в текущей папке. Затем в командной строке наберите команду:

>mysqld --initialize --console

где:

  • mysqld - это запускаемый файл mysqld.exe;
  • --initialize - это параметр, указывающий на необходимость выполнить инициализацию MySQL сервера;
  • --console - это параметр задает вывод всех сообщения mysqld прямо консоли, что удобно. Так же эти сообщения будут записаны и в лог файл MySQL сервера.

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

Z:\mysql\bin>mysqld --initialize --console
2016-05-13T17:27:32.663509Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please
2016-05-13T17:27:33.303111Z 0 [Warning] InnoDB: New log files created, LSN=45790
2016-05-13T17:27:33.381111Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2016-05-13T17:27:33.412311Z 0 [Warning] No existing UUID has been found, so we assume that this is t
2016-05-13T17:27:33.412311Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_execut
2016-05-13T17:27:33.490311Z 1 [Note] A temporary password is generated for root@localhost: Zqw6vMfxw

Как видно из примера в процессе инициализации был создан пользователь root@localhost с паролем Zqw6vMfxw. В MySQL 5.7 теперь пользователю root присваивается пароль при инициализации, раньше в предыдущих версиях пароль был пустой. Этот пароль нужно записать, для того что бы иметь возможность подключиться в MySQL в последствии. Так же в процессе инициализации в паке /data будут созданы файлы базы данных и служебных таблиц:

|-- data
|   `-- mysql
|   `-- performance_schema
|   `-- sys
|   `-- auto.cnf
|   `-- ib_buffer_pool
|   `-- ib_logfile0
|   `-- ib_logfile1
|   `-- ibdata1

 

В папке /logs будут созданы указанные вами в файле my.ini лог файлы:

|-- logs
|   `-- mysql-error.log
|   `-- mysql-slow.log

 

Запуск MySQL сервера

После инициализации можно уже выполнить запуск MySQL сервера, для чего наберите в командой строке:

>mysqld --console

где: --console - это необязательный параметр, указывающий на вывод сообщений от MySQL прямо в командной строке. Их также можно прочитать в лог файле mysql-error.log.

В результате выполнения этой команды MySQL сервер будет запущен и в консоли будут выведены примерно следующие сообщения от mysqld.

Примерный лог при запуске MySQL сервера:

2016-05-13T18:02:26.282563Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is
 deprecated. Please use --explicit_defaults_for_timestamp server option (see doc
umentation for more details).
2016-05-13T18:02:26.282563Z 0 [Warning] Insecure configuration
for --secure-file-priv: Current value does not restrict location of generated
files. Consider set ting it to a valid, non-empty path.
2016-05-13T18:02:26.282563Z 0 [Note] Z:\mysql\bin\mysqld (mysqld 5.7.12-log)
starting as process 3504 ...
2016-05-13T18:02:26.297564Z 0 [Note] InnoDB: Mutexes and rw_locks use Windows in
terlocked functions
2016-05-13T18:02:26.297564Z 0 [Note] InnoDB: Uses event mutexes
2016-05-13T18:02:26.297564Z 0 [Note] InnoDB: _mm_lfence() and _mm_sfence() are u
sed for memory barrier
2016-05-13T18:02:26.297564Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3
2016-05-13T18:02:26.298564Z 0 [Note] InnoDB: Number of pools: 1
2016-05-13T18:02:26.298564Z 0 [Note] InnoDB: Not using CPU crc32 instructions
2016-05-13T18:02:26.386569Z 0 [Note] InnoDB: Initializing buffer pool, total siz
e = 512M, instances = 1, chunk size = 128M
2016-05-13T18:02:26.446572Z 0 [Note] InnoDB: Completed initialization of buffer
pool
2016-05-13T18:02:26.491575Z 0 [Note] InnoDB: Highest supported file format is Ba
rracuda.
2016-05-13T18:02:26.575579Z 0 [Note] InnoDB: Creating shared tablespace for temp
orary tables
2016-05-13T18:02:26.575579Z 0 [Note] InnoDB: Setting file '.\ibtmp1' size to 12
MB. Physically writing the file full; Please wait ...
2016-05-13T18:02:26.626582Z 0 [Note] InnoDB: File '.\ibtmp1' size is now 12 MB.
2016-05-13T18:02:26.632583Z 0 [Note] InnoDB: 96 redo rollback segment(s) found.
96 redo rollback segment(s) are active.
2016-05-13T18:02:26.633583Z 0 [Note] InnoDB: 32 non-redo rollback segment(s) are
 active.
2016-05-13T18:02:26.635583Z 0 [Note] InnoDB: Waiting for purge to start
2016-05-13T18:02:26.686586Z 0 [Note] InnoDB: 5.7.12 started; log sequence number
 2522095
2016-05-13T18:02:26.688586Z 0 [Note] Plugin 'FEDERATED' is disabled.
2016-05-13T18:02:26.691586Z 0 [Note] InnoDB: Loading buffer pool(s)
from Z:\mysql\data\ib_buffer_pool
2016-05-13T18:02:26.700587Z 0 [Warning] Failed to set up SSL because of the foll
owing SSL library error: SSL context is not usable without certificate and priva
te key
2016-05-13T18:02:26.701587Z 0 [Note] Server hostname (bind-address): '127.0.0.1'
; port: 3306
2016-05-13T18:02:26.705587Z 0 [Note]   - '127.0.0.1' resolves to '127.0.0.1';
2016-05-13T18:02:26.706587Z 0 [Note] Server socket created on IP: '127.0.0.1'.
2016-05-13T18:02:26.723588Z 0 [Note] InnoDB: Buffer pool(s) load completed at 16
0513 21:02:26
2016-05-13T18:02:26.766590Z 0 [Note] Event Scheduler: Loaded 0 events
2016-05-13T18:02:26.769591Z 0 [Note] Z:\mysql\bin\mysqld: ready for connections.
Version: '5.7.12-log'  socket: ''  port: 3306  MySQL Community Server (GPL)

Пояснения для некоторых предупреждений [Warning] из log файла при запуске MySQL:

  • сообщение: 2016-05-13T18:02:26.282563Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see doc
    umentation for more details)
    . Пояснение: Это предупреждение, что TIMESTAMP с неявным указанием значению по умолчанию устарело. Это просто информационное напоминание, с ним ни чего делать не надо. Смысл этого сообщения в том, что начиная с версии MySQL 5.6 для столбцов TIMESTAMP уже не работает нестандартное поведение (это когда при не указании значения сервер сам подставлял значение). Теперь столбцы TIMESTAMP начиная с версии MySQL 5.6 ведут как и все столбцы. Если значение не передано и по умолчанию тоже не задано, то будет записано NULL, а не текущее время как раньше. Опция explicit_defaults_for_timestamp, которая предназначалась для включения нестандартного поведения теперь является устаревшей и будет удалена.
  • сообщение: 2016-05-13T18:02:26.282563Z 0 [Warning] Insecure configuration for --secure-file-priv: Current value does not restrict location of generated files. Consider set ting it to a valid, non-empty path. Пояснение: Это предупреждающее сообщение, что не указана директория для выгружаемых и загружаемых файлов. Это не обязательный параметр. Его можно задать как директорию, которая должна существовать. По умолчанию, параметр не задан и MySQL может использовать файлы из любой директории. Для указания явным образом этой директивы добавьте в my.ini как выше в примере значение secure-file-priv=Z:/mysql/files, где Z:/mysql/files директория в которой MySQL будет ограничен при работе с внешними файлами.

Если все прошло удачно и не возникло ошибок [Error], то вы увидите в диспетчере задач Windows работающий процесс mysqld.exe, который и является MySQL сервером.

 

Подключение к MySQL из Workbench

Для настройки и администрирования MySQL сервера удобно пользоваться программой MySQL Workbench. Желательно использовать последнею актуальную версию Workbench, которая поддерживает данный релиз MySQL 5.7, потому что при использовании старых SQL менеджеров, не поддерживающих новую версию MySQL 5.7 можно повредить системные таблицы, например, при редактировании пользователей с помощью интерфейса устаревшего SQL менеджера.

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

  • Hostname = 127.0.0.1
  • Port = 3306
  • Username = root
  • Password = пароль выданный при инициализации

Теперь, созданное подключение нужно сохранить, нажав Close. Если, еще до сохранения/закрытия создаваемого подключения попробовать протестировать соединение, то будет выдано сообщение о невозможности подключения к MySQL серверу по причине необходимости выполнить смену первичного пароля. Поэтому, просто закройте только что созданное подключение и оно сохраниться, и будет доступно на вкладке Home Workbench.

Запустите на вкладке Home только что созданное новое подключение к MySQL серверу. При первом подключении будет открыт диалог смены первичного, выданного при инициализации MySQL сервера пароля. Выполните смену пароля, установив новый пароль для root пользователя. Вы так же вы можете задать здесь пустой пароль для root, что может быть удобно, если это локальная установка MySQL, предназначенная для вашей среды web разработки.

Если все прошло успешно, то вы подключитесь к MySQL серверу и в Workbench откроется окно с опциями для выполнения различных манипуляций. Вы можете просмотреть статус сервера, его текущее состояние, имеющиеся подключения и т.п. Программа MySQL Workbench является достаточно мощным инструментом для управления, мониторинга, разработки и администрирования MySQL сервера. Так же через Workbench вы можете выполнять правку конфигурационного файла my.ini. Для этого вам нужно будет на вкладке Home открыть правой кнопкой мыши на редактирование созданное подключение к вашему portable MySQL серверу и на закладке System Profile отредактировать в параметре Configuration File путь к вашему my.ini и заново подключиться к серверу. После чего в пункте Option File в левой части окна Workbench вы сможете открыть графический диалог редактирования директив конфигурационного файла MySQL my.ini. В этом графическом интерфейсе вы сможете изменить или удалить существующие и добавить новые параметры. Все ваши изменения будут занесены в файл my.ini программой Workbench. Так же удобство этого графического интерфейса в том, что там отображаются параметры по умолчанию для не указанных явно в файле my.ini директив и приведены краткие описания к ним (детали см. в скринкасте).

 

Смена пароля root пользователя

Если вам не удается подключиться к MySQL серверу по причине неверного пароля, например, если вы не записали первичный пароль root пользователя, выданный сервером при инициализации, или вы хотите сменить пароль любого другого пользователя. В таких случаях вы можете выполнить изменение пароля пользователя MySQL при помощи SQL запроса путем запуска сервера с параметром init-file. Для этого создайте в домашней директории MySQL сервера текстовый файл с названием, например, mysql-init.txt (название файла может быть любым). В этот файл поместите SQL запрос вида:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
-- ИЛИ
ALTER USER 'root'@'localhost' IDENTIFIED BY ''; -- пустой пароль

где:

  • 'root'@'localhost' - пользователь, для которого требуется сменить пароль;
  • 'MyNewPass' - новый пароль для пользователя. Если нужно задать пустой пароль, просто укажите пустые одинарные кавычки.

Теперь можно приступать к смене пароля. Для этого убедитесь, что процесс mysqld.exe не запущен в настоящий момент. Если это не так, то завершите в диспетчере задач Windows процесс mysqld.exe т.к. завершить его из командной строки при неизвестном пароле root пользователя не удастся. Затем откройте окно команд в папке /bin и выполните команду:

>mysqld --init-file=Z:/mysql/mysql-init.txt

где в параметре --init-file укажите путь к файлу с SQL запросом на смену пароля. В примере это Z:/mysql/mysql-init.txt файл.

Выполнение этой команды приведет к запуску MySQL сервера и к смене пароля указанного пользователя. Если все прошло успешно, то вы увидите в диспетчере задач запущенный процесс mysqld.exe и сможете подключиться к MySQL серверу под данным пользователем с новым паролем. Если при выполнении этой команды cmd зависает, ее окно нужно закрыть. После смены пароля файл mysql-init.txt можно удалить. Если при смене пароля допустили ошибки и пароль не сменился, и подключиться не получается, то нужно все сделать заново. Остановить сервер в диспетчере задач, выбрав завершение процесса, проверить файл и SQL запрос на смену пароля в нем и попробовать снова.

 

Запуск и остановка MySQL .bat файлами

Для удобства запуска и остановки вашего portable MySQL сервера можно в его домашнем каталоге создать два .bat файла командной строки. Например, start.bat и stop.bat, в которые записать команды запуска и остановки MySQL. Таким образом вы сможете запускать и останавливать ваш MySQL сервер простым кликом по соответствующему файлу, что удобно т.к. не нужно открывать cmd и набирать команду руками.

 

Пример файла запуска MySQL - start.bat:

@echo off
start Z:\mysql\bin\mysqld
exit

 

Пример файла остановки MySQL - stop.bat:

@echo off
start Z:\mysql\bin\mysqladmin -u root shutdown
exit

 

Настройки Windows для MySQL

Для удобства работы в cmd с mysqld можно добавить в конец переменной PATH через точку с запятой путь к директории с файлом mysqld.exe вашего MySQL сервера, например, Z:\mysql\bin. Это нужно делать в настройках Windows: Computer > Properties > Advanced > System Properties > System Variables, где выбрать редактирование переменной Path. Тогда уже будет не важно в каком каталоге запущена cmd для вызова mysqld, значение пути будет барться из системной переменной Windows - PATH.

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

Установка MySQL как службы с авто запуском:

>"Z:\mysql\bin\mysqld" --install

Установка MySQL как службы с ручным запуском:

>"Z:\mysql\bin\mysqld" --install-manual

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

>"Z:\mysql\bin\mysqld" --remove

 

Команды MySQL в cmd Windows

Ниже представлены некоторые необходимые команды для работы с MySQL сервером из командной строки Windows - cmd:

Запуск MySQL сервера:

>Z:\mysql\bin\mysqld

Вход к консоль mysql при наличии пароля:

>mysql -u root -p
Enter password: (enter root password here)

Вход к консоль mysql, если пароля у пользователя нет, то без ключа -p:

>mysql -u root

Начало строки вида mysql>... означает, что вы в данный момент находитесь в консоли MySQL сервера и здесь можно писать SQL запросы.

Выйти из консоли MySQL:

mysql>exit

Показать имена имеющихся баз данных:

>mysqlshow -u root

Показать имена таблиц базы данных mysql (служебная база данных MySQL)

>mysqlshow -u root mysql

Остановка в cmd запущенного MySQL сервера:

>mysqladmin -u root -p shutdown
Enter password: (enter root password here)

Остановка в cmd запущенного MySQL сервера если root не имеет пароля:

>mysqladmin -u root shutdown

 

 

Скринкаст: Установка MySQL 5.7.13 в Windows из zip архива, MySQL Workbench

В скринкасте представлена портативная установка MySQL 5.7.13 в Windows из zip архива и выполнена первичная инициализация MySQL сервера, предварительная настройка конфигурации в my.ini, смена пароля root пользователя, настройка подключения к MySQL серверу при помощи MySQL Workbench. Такая установку прекрасно подойдет для локального разработческого WEB сервера и среды разработки под Apache, MySQL, PHP на Windows.

Смотреть на YouTube скринкаст: Установка MySQL 5.7.13 в Windows из zip архива, MySQL Workbench 

Содержание скринкаста:

 

Installing MySQL on Microsoft Windows Using a noinstall Zip Archive