В статье представлена установка и настройка портативного варианта базы данных MySQL 5.7 Community Server на Windows из zip архива. Описаны все действия — загрузка zip архива с дистрибутивом MySQL сервера, организация каталогов, настройка конфигурации, инициализация, запуск и подключение к серверу из программы MySQL Workbench. Статья так же содержит скринкаст.
Портативный вариант инсталляции базы данных 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 необходимо, что бы в системы были установлены следующие библиотеки:
- Microsoft .NET Framework 4 Client Profile
- Visual C++ Redistributable for Visual Studio 2013
Настройка 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 сервера.
Пример файла 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
Полезные ссылки:
Installing MySQL on Microsoft Windows Using a noinstall Zip Archive
Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Sign up
Things You Will Need
- A USB flash drive, at least 8 GB https://amzn.to/3wkR5ju | https://amzn.to/3qkrJ1p | https://amzn.to/3Nhu9b9
- Download MySQL Workbench Download
- Download the latest MySQL binary .zip Download
- Extract the downloaded .zip file
- Rename the extracted folder MySQL
- Cut the MySQL folder to the USB flash drive
- Navigate back to the folder with the MySQL Workbench .msi
- While holding Shift, right click in the whitespace > Open PowerShell window here
- Run the following command in PowerShell to extract the .msi to the USB flash drive, update the drive letter as needed
msiexec /a mysql-workbench-community-8.0.25-winx64.msi /qb TARGETDIR=H:\
exit - Navigate to the USB flash drive and create a new text file called MySQL.bat
- Paste the following contents into the .bat file
«%~dp0MySQL\bin\mysqld.exe» —standalone
- Save MySQL.bat
- Navigate into \MySQL\bin on the USB flash drive
- While holding Shift, right click in the whitespace > Open PowerShell window here
- Run the following command to initialize the MySQL server
.\mysqld —initialize
exit - Find the .err file in the \MySQL\data directory and open it in a text editor
- Search for the phrase temporary password > Copy the randomly generated password for the root account to the clipboard
- Right click MySQL.bat on the root of the USB flash drive > Run as Administrator
- The MySQL server process is now running
- Navigate into \MySQL\MySQL Workbench 8.0 CE\ on the USB flash drive and launch MySQLWorkbench.exe
- Click the Plus icon next to MySQL Connections
- Enter a connection name (ie Portable MySQL) > Click OK
- Double click the new connection
- Paste the password found in the .err file
- Enter and confirm a new root password
- The connection should be successful, click OK
- Welcome to a portable MySQL database instance with GUI
To stop the MySQL instance, simply kill mysqld.exe by pressing CTRL+C in the open command prompt running MySQL.bat
Additional server options for MySQL.bat https://dev.mysql.com/doc/refman/8.0/en/server-options.html
Database · November 8, 2024
MySQL is a widely used relational database management system that is known for its reliability and ease of use. The portable version of MySQL allows users to run the database without the need for installation, making it an excellent choice for developers and database administrators who need flexibility. This article will guide you through the configuration process for the MySQL portable version, ensuring you can set it up efficiently and effectively.
What is MySQL Portable Version?
The MySQL portable version is a self-contained version of the MySQL database that can be run from a USB drive or any other portable storage device. This version does not require installation on the host operating system, which makes it ideal for users who need to work on multiple machines or want to keep their database environment isolated.
Downloading MySQL Portable Version
To begin the configuration process, you first need to download the portable version of MySQL. You can find it on the official MySQL website or other trusted sources. Ensure that you download the version compatible with your operating system (Windows, macOS, or Linux).
Steps to Download:
- Visit the official MySQL website.
- Navigate to the downloads section.
- Select the portable version suitable for your operating system.
- Download the ZIP file containing the portable MySQL.
Once the download is complete, you need to extract the files from the ZIP archive. This can be done using built-in tools in most operating systems or third-party software like WinRAR or 7-Zip.
- Locate the downloaded ZIP file.
- Right-click on the file and select “Extract All” or use your preferred extraction tool.
- Choose a destination folder on your portable storage device.
Configuring MySQL Portable Version
After extracting the files, you need to configure the MySQL server. This involves setting up the configuration file and initializing the database.
1. Configuration File
The configuration file for MySQL is typically named my.ini
or my.cnf
. You can find this file in the extracted folder. Open it in a text editor to make necessary adjustments.
Key Configuration Parameters:
basedir
: This should point to the directory where MySQL is located.datadir
: This should point to the directory where your database files will be stored.port
: The default port is 3306, but you can change it if needed.
Example Configuration:
[mysqld]
basedir=C:/path/to/mysql
datadir=C:/path/to/mysql/data
port=3306
2. Initializing the Database
After configuring the file, you need to initialize the database. Open a command prompt or terminal window and navigate to the MySQL bin directory within the extracted folder. Use the following command to initialize the database:
mysqld --initialize --console
This command will create the necessary database files in the specified data directory.
3. Starting the MySQL Server
To start the MySQL server, run the following command in the same command prompt or terminal:
mysqld
Once the server is running, you can connect to it using the MySQL client.
4. Connecting to MySQL
To connect to your MySQL server, open another command prompt or terminal window and use the following command:
mysql -u root -p
You will be prompted to enter the root password, which is typically set during the initialization process.
Troubleshooting Common Issues
While configuring the MySQL portable version, you may encounter some common issues. Here are a few troubleshooting tips:
- Ensure that the
datadir
path is correct and that you have write permissions. - If the server does not start, check the error log located in the data directory for more information.
- Make sure no other services are using the same port.
Conclusion
Configuring the MySQL portable version is a straightforward process that allows for flexibility and ease of use. By following the steps outlined in this article, you can successfully set up a portable MySQL environment that meets your development needs. For those looking for reliable hosting solutions, consider exploring options like USA VPS Hosting to enhance your database management experience.