Как установить локальный сервер Apache с Php, MySQL, phpMyAdmin на компьютере с Windows. Установка и первоначальная настройка MySQL в linux Установка и настройка my sql

andew

2016-07-10T15:01:35+00:00

2018-01-31T05:17:00+00:00

10579

В статье представлена установка и настройка портативного варианта базы данных 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 для . Однако в таких сборках база данных 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 . Однако могут быть нюансы, поэтому, если что либо не будет получаться, то пишите в комментариях и читайте официальную документацию 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 ) можно так же с . На этих страницах загрузки данные дистрибутивы доступны как в варианте универсального инсталлятора для 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 # Необязательный блок директив для клиента port=3306 default-character-set=utf8 #Обязательный блок директив для сервера #Явное указание движка таблиц по умолчанию, не обязательно 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 #Путь к директории для экспорта и импорта файлов сервером #Не обязательный параметр #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 sql_mode=TRADITIONAL #Не обязательный блок quick #max_allowed_packet = 32M #Не обязательный блок force #Не обязательный блок 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 TIMESTAMP with implicit DEFAULT value is deprecated. Please 2016-05-13T17:27:33.303111Z 0 InnoDB: New log files created, LSN=45790 2016-05-13T17:27:33.381111Z 0 InnoDB: Creating foreign key constraint system tables. 2016-05-13T17:27:33.412311Z 0 No existing UUID has been found, so we assume that this is t 2016-05-13T17:27:33.412311Z 0 Gtid table is not ready to be used. Table "mysql.gtid_execut 2016-05-13T17:27:33.490311Z 1 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 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 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 Z:\mysql\bin\mysqld (mysqld 5.7.12-log) starting as process 3504 ... 2016-05-13T18:02:26.297564Z 0 InnoDB: Mutexes and rw_locks use Windows in terlocked functions 2016-05-13T18:02:26.297564Z 0 InnoDB: Uses event mutexes 2016-05-13T18:02:26.297564Z 0 InnoDB: _mm_lfence() and _mm_sfence() are u sed for memory barrier 2016-05-13T18:02:26.297564Z 0 InnoDB: Compressed tables use zlib 1.2.3 2016-05-13T18:02:26.298564Z 0 InnoDB: Number of pools: 1 2016-05-13T18:02:26.298564Z 0 InnoDB: Not using CPU crc32 instructions 2016-05-13T18:02:26.386569Z 0 InnoDB: Initializing buffer pool, total siz e = 512M, instances = 1, chunk size = 128M 2016-05-13T18:02:26.446572Z 0 InnoDB: Completed initialization of buffer pool 2016-05-13T18:02:26.491575Z 0 InnoDB: Highest supported file format is Ba rracuda. 2016-05-13T18:02:26.575579Z 0 InnoDB: Creating shared tablespace for temp orary tables 2016-05-13T18:02:26.575579Z 0 InnoDB: Setting file ".\ibtmp1" size to 12 MB. Physically writing the file full; Please wait ... 2016-05-13T18:02:26.626582Z 0 InnoDB: File ".\ibtmp1" size is now 12 MB. 2016-05-13T18:02:26.632583Z 0 InnoDB: 96 redo rollback segment(s) found. 96 redo rollback segment(s) are active. 2016-05-13T18:02:26.633583Z 0 InnoDB: 32 non-redo rollback segment(s) are active. 2016-05-13T18:02:26.635583Z 0 InnoDB: Waiting for purge to start 2016-05-13T18:02:26.686586Z 0 InnoDB: 5.7.12 started; log sequence number 2522095 2016-05-13T18:02:26.688586Z 0 Plugin "FEDERATED" is disabled. 2016-05-13T18:02:26.691586Z 0 InnoDB: Loading buffer pool(s) from Z:\mysql\data\ib_buffer_pool 2016-05-13T18:02:26.700587Z 0 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 Server hostname (bind-address): "127.0.0.1" ; port: 3306 2016-05-13T18:02:26.705587Z 0 - "127.0.0.1" resolves to "127.0.0.1"; 2016-05-13T18:02:26.706587Z 0 Server socket created on IP: "127.0.0.1". 2016-05-13T18:02:26.723588Z 0 InnoDB: Buffer pool(s) load completed at 16 0513 21:02:26 2016-05-13T18:02:26.766590Z 0 Event Scheduler: Loaded 0 events 2016-05-13T18:02:26.769591Z 0 Z:\mysql\bin\mysqld: ready for connections. Version: "5.7.12-log" socket: "" port: 3306 MySQL Community Server (GPL)

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

  • сообщение : 2016-05-13T18:02:26.282563Z 0 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 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 будет ограничен при работе с внешними файлами.

Если все прошло удачно и не возникло ошибок , то вы увидите в диспетчере задач 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.

Установка сервера MySQL из репозитория

Для установки сервера MySQL в Debian достаточно набрать команду:
apt-get install mysql-server

В операционной системе RHEL / CentOS также все довольно просто:
yum install mysql-server

Обратите внимание: после установки сервера MySQL его необходимо запустить. Для этого (как в Debian, так и в RHEL / CentOS) необходимо выполнить команду:
service mysqld start

Установка клиента MySQL из репозитория

Для установки клиента mysql запустите в debian следующую команду:
apt-get install mysql-client

В случае, если у Вас установлен RHEL / CentOS, выполните такую команду:
yum install mysql

При этом будет установлена актуальная (на момент выполнения команды) версия MySQL. На момент написания статьи это версия 5.5.

Установка библиотек MySQL для поддержки компиляции (MySQL development) из репозитория

Если Вы устанавливаете MySQL не по своему желанию, а потому, что это необходимо для установки какой-либо программы (например, asterisk, поддержка cdr_mysql), то просто установить сервер (и/или клиент) MySQL недостаточно. Необходимо также поставить библиотеки MySQL, чтобы компиляция зависящей от MySQL программы была успешной.

Для debian это будет команда:
apt-get install libmysqlclient-dev

Для RHEL / CentOS выполните:
yum install mysql-devel

Первоначальная настройка MySQL

Даже в случае, если Вы устанавливаете MySQL на домашнем/тестовом компьютере (не говоря уже об установке в производственной среде) необходимо совершить хотя бы минимальные действия по настройке MySQL сервера (клиента, как правило, настраивать не нужно). Например, задать пароль пользователя root в системе MySQL. По умолчанию пароль для root - пустой (без пароля).

Задать пароль MySQL root

Для простой установки пароля пользователю root (в случае, если пароль не был запрошен при установке самого MySQL) выполните команду:

Где rootpass - пароль для пользователя root. Совет : если Вы хотите, чтобы эта команда не отображалась в истории команд (и никто впоследствии не смог бы подсмотреть пароль рута из истории команд), перед этой командой просто поставьте пробел. То есть:
/usr/bin/mysqladmin -u root password "rootpass"

Настройка MySQL для работы в производственной среде

Выполните из командной строки:
/usr/bin/mysql_secure_installation

Данный скрипт (если ответить на задаваемые вопросы yes) - установит новый пароль root (пароль будет запрошен), удалит пользователя anonymous, запретит логинится с удаленных машин под root-ом, удалит тестовую базу.

Создать необходимую базу данных и пользователя для нее

Для создания базы данных в MySQL необходимо сначала подключиться к MySQL, после чего выполнить mysql запрос для создания базы данных. Для этого выполните из командной строки linux:
mysql -u root -p

При этом будет запрошен пароль для пользователя, имя которого указано после опции -u (в данном случае - пароль пользователя root). При правильном введении пароля появится приглашение MySQL к вводу команд:
mysql>_

Это командная строка MySQL. Все SQL запросы и команды на создание баз данных, пользователей и т.д. вводятся в этой командной строке.

Для создания базы данных выполните в командной строке MySQL:
create database имя-базы-данных character set кодировка-базы-данных;

например:
create database asterisk character set utf8;

Кодировку можно не указывать, при этом будет использоваться кодировка по умолчанию (см. настройки сервера MySQL):
create database mydatabase;

Теперь создадим пользователя MySQL и дадим ему полные права на созданную базу данных:
grant all privileges on имя-базы-данных.* to имя-пользователя @localhost identified by " пароль-пользователя ";
например:
grant all privileges on asterisk.* to asterisk_user@localhost identified by "asterisk_password";

добавление в базу данных таблиц из файла

Если у Вас есть таблицы в файлах, которые Вы бы хотели добавить в базу данных, выполните следующую команду:
mysql -u имя-пользователя-mysql -p имя-базы-данных < имя-файла-с-таблицей
например:
mysql -u root -p asterisk < asterisk-cdr.sql
при этом после запуска указанной команды у Вас будет запрошен пароль пользователя MySQL (в данном случае - пароль пользователя root), после чего (если пароль верный!) будет выполнен запрос MySQL, находящийся в файле (в данном случае - в asterisk-cdr.sql).

Возможны также масса дополнительных вариантов/опций/рекомендаций по установке/настройке MySQL, в частности установка кодировки / языка по умолчанию (параметры MySQL хранятся в my.cnf), поиск пользователей с пустыми паролями и замена паролей на непустые, настройка iptables для удаленного подключения к mysql, и так далее. Здесь же были рассмотрены минимально необходимые действия для быстрого начала работы с MySQL.

Для Win 32 выбираем дистрибутив: Windows (x86, 32-bit), Zip-Archive.

Для Win 64: Windows (x86, 64-bit), Zip-Archive.

После нажатия на кнопку Download вы увидите форму для регистрации, ее можно пропустить, нажав на ссылку внизу — No thanks, just take me to the downloads .

2. Создаем папку установки. Например . И распаковываем в нее содержание архива таким образом, чтобы папки bin, data, docs и прочие были в корне папки установки.

3. Переходим к созданию конфигурационного файла (my.ini). За основу берем один из типовых файлов:

  • my-small.ini — подойдет тем, кто использует MySQL время от времени и не хочет, чтобы сервер занимал много ресурсов.
  • my-medium.ini — тоже не требовательная к ресурсам конфигурация, но подойдет тем, кто использует MySQL на постоянной основе (хороший выбор для для домашнего веб-сервера).
  • my-large.ini и my-huge.ini — для систем, использующихся как выделенный MySQL сервер. Впрочем, my-large.ini можно использовать для домашнего сервера, если нужна дополнительная производительность MySQL (512 Мб оперативной памяти не так уж и много по нынешним временам).
  • my-innodb-heavy-4G — для выделенных серверов, имеющих от 4 Гб оперативной памяти и использующих только таблицы типа InnoDB.

В этом примере за основу я выбрал my-medium.ini. Переименовываем его в my.ini и размещаем в корне папки установки (C:\Program Files\MySQL\MySQL Server 5.5 ).

Открываем для редактирования (в обычном Блокноте) и сразу после строчки дописываем два параметра:

Basedir=C:/Program Files/MySQL/MySQL Server 5.5 datadir=C:/Program Files/MySQL/MySQL Server 5.5/data

Обратите внимание, что в путях используется прямой слэш (/), а не обратный (\).

basedir — это путь к папке установки.

datadir — путь к папке данных (где хранятся все БД). Иногда имеет смысл разместить данные на отдельном диске, чтобы повысить производительность или обеспечить надежность.

На всякий случай привожу фрагмент конфигурационного файла, после внесения изменений:

# The MySQL server basedir=C:/Program Files/MySQL/MySQL Server 5.5 datadir=C:/Program Files/MySQL/MySQL Server 5.5/data port = 3306 socket = /tmp/mysql.sock skip-external-locking key_buffer_size = 16M max_allowed_packet = 1M table_open_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M

4. Следующий этап — добавить путь C:\Program Files\MySQL\MySQL Server 5.5\bin в переменную среды PATH, чтобы упростить запуск MySQL из командной строки. Для этого открываем Свойства системы -> Дополнительные параметры системы -> на закладке Дополнительно в самом низу кнопка «Переменные среды…». В открывшемся окне пролистываем системные переменные пока не найдем Path. Выделяем эту строку и нажимаем «Изменить…». В конце строки дописываем свой путь, сохраняя существующие параметры:

Обратите внимание, что пути разделяются точкой с запятой. Убедитесь, что в начале и в конце вашего пути точка с запятой поставлена.

5. Перед тем как осуществить пробный пуск, открываем входящий порт TCP 3306 в брандмауэре Windows:

Если в системе установлен дополнительный брандмауэр, то в нем также необходимо открыть порт TCP 3306 для входящих подключений.

6. Теперь осуществляем тестовый запуск. В командной строке, запущенной от имени администратора (это обязательно, если на Семерке или Висте включен UAC), выполняем:

Mysqld --console

На экран будет выведено несколько строк. Если запуск прошел успешно, то последняя строка будет выглядеть примерно так:

Version: "5.5.9-log" socket: "" port: 3306 MySQL Community Server (GPL)

Оставляем это окно открытым, и открываем еще одно окно командной строки, в котором вводим:

Mysql -u root

Если подключение прошло без ошибок, вы увидите приглашение командной строки: mysql>

Посмотрим какие базы у нас есть:

Show databases;

Точка с запятой в конце SQL-запроса ОБЯЗАТЕЛЬНА!

Ответ команды:

Теперь мы окончательно убеждены, что сервер работает.

7. Переходим к следующему этапу — необходимо установить пароль администратора MySQL (пользователь root). По умолчанию пароль не установлен, и это надо исправить. В том же окне MySQL вводим следующие команды:

Use mysql UPDATE user SET password = PASSWORD("ваш_пароль") WHERE user = "root";

Проверяем результат:

SELECT user, host, password FROM user;

Как видно на скриншоте колонка password заполнена, значит пароль установлен.

Перед выходом выполняем команду:

FLUSH PRIVILEGES;

Теперь при подключении необходимо вводить пароль. Для этого используем ключ -p:

Mysql -u root -p

Для завершения работы MySQL выполняем:

Mysqladmin -u root -p shutdown

8. Последний этап — запуск MySQL в качестве системной службы Windows.

Убедитесь, что в системе нет активных процессов MySQL.

В командной строке, запущенной от имени администратора, выполняем:

"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --install

Путь к mysqld необходимо указывать полностью (даже если он прописан в PATH)!

Для запуска службы, открываем «Управление компьютером», и вручную запускаем службу MySQL:

Или проще через командную строку:

Net start mysql

Для удаления службы, предварительно ее останавливаем:

Net stop mysql

и выполняем:

"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --remove

Всем привет! Сегодня мы покажем процесс установки MySQL сервера версии 8.0 на Windows 10 с помощью автоматического установщика. До этого мы уже рассказывали как установить MySQL сервер на CentOS 7 , теперь мы решили коснуться несколько более известной всем платформы.

Установка

Итак, начнем. Как я уже упомянул ранее, мы будем использовать автоматический установщик, который необходимо скачать по следующей ссылке: https://dev.mysql.com/get/Downloads/MySQLInstaller/mysql-installer-community-8.0.11.0.msi

Файл "весит" примерно 200 Мб, и в нем уже есть все необходимое для установки. Дважды кликаем на исполняемый файл, принимаем условия лицензионного соглашения (галочка) и кликаем Next .

Далее выбираем тип установки, коих есть несколько - установка готового "набора разработчика", установка только сервера, только клиента, полная установка (первая опция + дополнительные инструменты) и кастомная. В нашем случае мы выбираем установку сервера.



Затем нажимаем Next .


Переходим на этап настройки - нажимаем Next .


Так как мы показываем самую простую установку, выбираем первую опцию, также как на скриншоте - отдельный MySQL сервер и кликаем Next .


Настраиваем сетевые параметры - для демонстрационных целей мы все оставили по умолчанию.


Затем настраиваем параметры аутентификации - выбираем первую опцию и нажимаем Next .


Устанавливаем рутовый пароль для сервера - чем сложнее, тем лучше. Мы рекомендуем использовать по меньшей мере пароль из 12 символов, содержащий буквы, цифры и специальные символы. Также на этом этапе можно добавить пользователей - мы, к примеру, добавили пользователя asterisk .





Завершение установки и проверка работоспособности

Готово! Теперь осталось нажать Finish два раза - поздравляем! Вы установили MySQL сервер.


Теперь давайте проверим его работоспособность. Для этого необходимо открыть приложение, которое было установлено вместе с сервером - MySQL 8.0 Command Line Client . Необходимо будет ввести рутовый пароль, который был указан вами во время установки и, затем, выполнить команду show databases;

Обращу внимание, в этой статье я ставлю, только MySQL Server (сервер базы данных) без визуальных «плюшек», MySQL Workbench, Connectors и т.д.

Зачем нужна отдельная установка сервера MySQL

Зачем нужна отдельная установка сервера? Например, для обучения работе с базами данных через «черный экран» командной строки. Или чтобы изучить команды SQL языка и «в прямом эфире» увидеть свои ошибки и поупражняться. Или для самостоятельной сборки локального сервера. Не важно, зачем это нужно, важно, что это можно сделать.

Что такое MySQL

Прежде чем заняться 5.7.11 на Windows 7 вспомним, что такое MySQL, зачем это нужно. Если вы в курсе, смело пропускайте первую, вступительную, часть.

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

В этой серии статей, мы не ищем легких путей и не используем готовые сборки локальных серверов, можно называть, локальных хостингов. В этой серии, мы настойчиво собираем локальный хостинг, самостоятельно из отдельных программных продуктов.

Одной из частей, локального сервера является СУБД (система управления базами данных). Для разработки и создания сайтов, вполне достаточно установить бесплатную СУБД MySQL компании Aracle. На март 2016 года актуальна версия MySQL 5.7.11.

Установка сервера MySQL 5.7.11 на Windows 7 поэтапная инструкция

1.

Скачать MySQL 5.7.11 для Windows

Идем на официальный сайт продукта (http://www.mysql.com/downloads/ ) и страницу скачивания бесплатных компонентов (http://dev.mysql.com/downloads/ ).

Идем на вкладку MySQL Community Edition
Выбираем downloads community server

При скачивании внимательно выбираем инсталлятор не путая тип системы компьютера bit-32 и bit-64 Windows 7. Хотя 32 битная программа будет работать на 64-битном процессоре.


Для скачивания выбираем MySQL Installer MSI

Для удобства из способов установки MySQL берем не ZIP архив, а MSI Installer. Это автоматический установщик, который через сеть закачает выбранные программные продукты. Недостаток файла – работает только на машинах подключенных к Интернет, компенсируется простотой установки.


Напомню, посмотреть тип системы своей машины можно в меню Пуск→Компьютер→Свойства→Тип системы.


Проверка типа процессора на компьютере 2.

Запуск инсталлятора

Скачанный exe файл проверяем на вирусы, своей антивирусной программой. Если файл брали на официальном сайте он гарантированно безопасен.


Запускаем инсталлятор MySQL 3.

Побочная установка программных продуктов

Для установки сервера MySQL на компьютере должны быть установлены две обязательные программы:

  • .NET Framework 4
  • Visual Studio C++

По умолчанию Windows 7 уже укомплектован этими программами, правда версии могут быть поменьше.

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

  • Установить.NET Framework 4
  • Установить Visual Studio C++
4.

License Agreement

Продолжаем установку MySQL. Окно License Agreement. Это стандартное подписание лицензии.


установка сервера MySQL 5.7.11 на Windows 7 соглашение с лицензией 5.

Choosing a Setap Type

Именно на этом этапе, выбираем тип установки, вернее, устанавливаемый комплект MySQL.

  • Developer Default (MySQL Server, MySQL Workbench, Connectors в комплекте)
  • Server Only – выбираем и ставим его, только сервер.
  • Client Only
  • Full (MySQL Server, MySQL Workbench, Connectors на выбор)
  • Custom

Если вы четко понимаете, что делаете, можно выбрать, Custom и в наборе программных продуктов, выбрать нужную комплектацию.

По умолчанию СУБД будет установлена в папку: C:\Program Files\MySQL\MySQL5.7

Еще раз поясню, почему вам может пригодиться, установка Server Only. Например, вы на своем компьютере не используете Visual Studio или, изучаете язык SQL и хотите изнутри понять, как работать с базами данных из командной строки, а не «играть» в визуальные картинки.

6.

Installation


Installation server mysql 5.7.11


7.

Product Configuration


Устанавливаем конфигурацию MySQL 8.

Type and Networking


Type and Networking MySQL 5.7.11

На локальной машине MySQL поддерживает порт TCP/IP- ставим галочку;

Обратите внимание: Если поставить галочку в строке: Open freewall port for network access (открытый порт брандмауэра для доступа к сети), то не нужно будет делать дополнительный разрешительных настроек в брандмауэре Windows 7.

9.

Account and Roles


Задаем пароль MySQL

Здесь нам нужно задать пароль для работы в MySQL. Не будем нарушать традиций и ставим пароль: root . Кстати, без установки пароля на следующую страницу не попасть.


Задаем root пароль MySQL 10.

Windows Server

Это окно простых настроек запуска MySQL. Если нужно, чтобы сервер запускался с запуском машины, то выделяете чекбокс, как на фото. Если хотите запускать его по необходимости, чекбокс не выделяете (лучше галочку поставить).


Конфигурация MySQL для Windows server

Здесь тормозим: Смотрим на чекбокс: Show advanced options (показать дополнительные функции).

11.

На следующей странице сервис наполнится конфигурацией, о чем сообщит зелеными галочками.

12.

Установка завершена

Всё! Установка сервера MySQL 5.7.11 на ОС Windows 7, завершена. Можно сделать копию входа в буфер обмена и положить на рабочий стол.


установка сервера MySQL 5.7.11 на Windows 7 завершена

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

Установка сервера MySQL 5.7.11 на Windows 7 завершена. Проверяем правильность установки и запускаем сервер MySQL.

  • Идем в меню Пуск;

  • Жмем на иконку запуска сервера: MySQL Command Line Client – Unicode. Он там появится, если вы поставили галочку в пункте (10 Windows Server), в чекбоксе: Start the MySQL Server at System Startup.
  • Откроется «черное окно» приложения: MySQL5.7 Command Line Client.
  • Вводим пароль: root и работаем с СУБД из окон MySQL5.7 Command Line Client.

Пробуем первую команду: знак вопроса [?] или . Сервер покажет элементарные служебные команды.

На самом деле, экран будет «черный».

Публикации по теме