MySQL — установка и настройка
Скачать дистрибутив базы данных MySQL можно тут: mysql-5.5.15-win32.msi. Новейшую версию сервера MySQL для Windows можно загрузить с официального сайта MySQL: mysql.com (Download -> MySQL Community Server -> Windows (x86, 32 или 64 bit), MSI Installer).
Используя материалы этой статьи, можно без проблем установить сервер базы данных MySQL на компьютер под управлением Windows XP, Windows Vista, Windows 7.
Запустив файл дистрибутива MySQL нажимаем кнопку «Next», отмечаем флажок «I accept the terms in the License Agreement» (согласие с лицензионными правилами MySQL) и далее кнопку «Custom», для выбора параметров установки БД. Следующим шагом, практически в самом низу, справа, нажимаем кнопку «Browse. » для смены установочной директории по умолчанию на C:MySQL5.5.15 и далее «Next», потом «Install». После прохождения процесса инсталяции нужно еще пару раз нажать кнопку «Next», чтобы добраться до окошка «Completed the MySQL Server 5.5 Setup Wizard», в котором оставляем выбранное поле «Launch the MySQL Instance Configuration Wizard», чтобы запустить процесс первоначальной конфигурации сервера MySQL нажатием кнопки «Finish».
Теперь снова кнопка «Next», после чего оставляем как есть выбор «Detailed Configuration», чтобы иметь возможность выбирать параметры конфигурации и жмем «Next». Следующий выбор из 3-х возможных параметров:
- Developer Machine — малое выделение оперативной памяти компьютера для MySQL, подходит для рабочей станции, с установленными различными приложениями (Apache, PHP, Word, Excel, Игры и др.);
- Server Machine — среднее потребление памяти для компьютера, использующегося в качестве сервера, с не большим кол-вом установленных программ (например web-сервер, на котором планируется использовать только Apache, PHP и MySQL);
- Dedicated MySQL Server Machine — максимальное потребление операционной памяти, для использования компьютера в качестве выделенного (отдельного) сервера MySQL.
Тут необходимо выбрать первый (Developer Machine) или второй (Server Machine) вариант, в зависимости от планируемого использования компьютера.
На следующем этапе установки предлагается выбор из трех вариантов:
- Multifunctional Database — оптимизация скорости для различных типов таблиц MySQL: MyISAM и InnoDB;
- Transactional Database Only — таблицы InnoDB (тип таблиц, поддерживающий транзакции) оптимизируются для наивысшей скорости работы, тип таблиц MyISAM также доступен;
- Non-Transactional Database Only — доступен только тип таблиц MySQL MyISAM;
Оставляем выбранный по умолчанию пункт Multifunctional Database и жмем «Next». В следующем окне предлагается выбрать путь для хранения таблиц InnoDB — оставляем все без изменений и нажимаем «Next».
Теперь следует оставить, установленный по умолчанию пункт «Decision Support (DSS)/OLAP». Выбирая его, сервер MySQL конфигурируется на обработку до 20 одновременных подключений, чего, впринципе, вполне достаточно, для компьютера разработчика или домашнего сервера. При необходимости этот параметр можно будет изменить позднее, установив нужное кол-во одновременных подключений в конфигурационном файле MySQL my.ini. «Online Transaction Processing (OLTP)» — устанавливает ограничение в 500 одновременных подключений, «Manual Settitng» позволяет выбрать из списка необходимое кол-во одновременных коннектов.
На следующем этапе конфигурирования MySQL предлагается установить сетевые настройки БД MySQL:
- включить поддержку TCP/IP соединений (оставляем установленную по умолчанию галочку напротив «Enable TCP/IP Networking», что предоставит возможность подключаться к MySQL средствами PHP и, при необходимости, с других компьютеров по локальной сети/интернет);
- номер порта, который будет «слушать» сервер MySQL (по умолчанию его номер 3306 — оставляем без изменений);
- добавить выбранный номер порта в исключения штатного Брандмауера Windows (следует отметить поле «Add firewall exception for this port» даже если файрвол не используется — вдруг в будущем, когда-нибудь, он таки будет включен?);
- включить строгий режим соответствия SQL (поле «Enable Strict Mode» по умолчанию включено — оставляем как есть, за что отвечает это поле будет описано ниже, в разделе «Настройка MySQL»).
Далее предлагается выбрать кодировку баз данных по умолчанию:
- Standart Character Set — установить кодировку «Latin 1»;
- Best Support For Multilingualism — установить кодировку «UTF8»;
- Manual Selected Default Character Set / Collation — самостоятельный выбор кодировки по умолчанию из выпадающего списка (например, можно выбрать cp1251).
Если вы только начинаете осваивать MySQL лучшим выбором будет второй пункт — UTF8, так как эта кодировка поддерживает наибольшее число символов алфавитов множества стран мира.
Следующий шаг — выбор опций для Windows:
- Install As Windows Service — рекомендуемый параметр, оставляем пункт отмеченным;
- Service Name — название сервиса для Windows, выбираем «MySQL51» (можно оставить выбрраное по умолчанию название «MySQL», но если в будущем потребуется установить новую версию MySQL паралельно со старой — может возникнуть путаница с названиями, имя сервися нужно знать для ручного запуска сервера MySQL из коммандной строки: «net start mysql51» или «net start mysql «, если сервис назван как «MySQL»);
- Launch the Mysql Server automatically — автоматически запускать сервис MySQL при старте Windows, оставляем пункт отмеченным;
- Include Bin Directory in Windows PATH — занести путь к bin директории MySQL, в которой хранятся необходимые утилиты, в Windows PATH. По умолчанию этот пункт не отмечен, но он будет весьма полезен, при использовании утилит MySQL из коммандной строки — не прийдется заходить в директорию «bin» главного каталога MySQL — вызов утилиты будет доступен из любого каталога. Отмечаем этот пункт.
Предпоследний шаг — установка опций безопасности:
- Modify Security Settings — поле, отмеченное по умолчанию, позволяет ввести пароль для пользователя root. Root — пользователь, наделенный абсолютно всеми возможными правами в БД MySQL. Пароль для него вводить нужно обязательно, чтобы предотвратить взлом БД и компьютера в целом. Если же снять отметку с поля Modify Security Settings, логину root будет присвоен пустой пароль, что весьма не безопасно.
- Enable root access from remote machines — открыть доступ пользователю root из удаленных компьютеров — решить, отмечать это поле или нет, можно определившись, нужен ли будет удаленный доступ к серверу MySQL?
- Create An Anonymous Account — это поле отмечать не нужно, так как зачем на сервере MySQL открывать доступ для анонимных пользователей?
Последний шаг установки — нажатие кнопки «Exhibited», после чего MySQL будет установлена и запущена. Если в процессе возникла ошибка 1045, на шаге применения настроек безопасности (Apply security settings), смотрите как решить эту проблемму ниже.
Проверить, работает ли сервер MySQL можно зайдя в «Пуск» -> «Панель управления» -> «Администрирование» -> «Службы» и найдя в списке служб MySQL51. Если состояние службы: «работает», то все ОК.
Краткое описание компонент
- Apache — собственно сам web-server, программа, которая устанавливается как «служба» windows, контролирует общепринятый для web порт 80, при поступлении запроса (обычно от браузера) — выдает клиенту исходный текст страницы.
- PHP (Hypertext Preprocessor — препроцессор гипертекста) — набор библиотек, позволяющий существенно расширить возможности обычного сайта на HTML. С помощью него реализуются такие важные вещи как авторизация, работа с базами данных, динамическое наполнение страниц информацией, интерфейс администратора сайта. Суть подхода заключается во включении в «исходный код» страницы специальных конструкций, на языке PHP. Web-server перед выдачей «исходного кода» клиенту передает текст на обработку PHP модулю, тот в свою очередь выполняет свои скрипты и отдает обратно уже готовую страничку, которая притерпела изменения согласно этих скриптов. Например, модуль может разместить на страничке последние новости или свежий анекдот.
- MySQL — СУБД (система управления базами данных), специальная программа для хранения различных таблиц с моментальным доступом на чтение и запись. PHP может задействовать эту программу для хранения логиновпаролей, новостей, сообщений с форума и т.д., вплоть до хранения исходного кода страниц и картинок. Можно конечно хранить сообщения с форума в обычном текстовом файле, но когда сообщений будет не 20-30 а 2-3 тысячи — ваш сайт может просто зависнуть. Тут то и приходят на помощь скоростные и отлаженные механизмы доступа к данным, такие как MySQL.
Для простого сайта без авторизации, достаточно поставить только Apache, если же надо реализовать авторизацию — без PHP уже не обойтись. Установку производим в обратном порядке — MySQL, затем PHP, затем Apache, затем запускаем web-server, делаем тестовую страничку и проверяем работу сервера «извне».
Развертывание отдельного сайта
Мы можем пропустить данный пункт, если хотим использовать сайт по умолчанию. Однако, в данной инструкции мы разберем пример, когда для сайта на PHP будет создана отдельная настройка.
Открываем Диспетчер серверов — кликаем по Средства — Диспетчер служб IIS:
Находим раздел сайты — кликаем правой кнопкой мыши по Добавить веб-сайт. :
Заполняем данные для нового сайта:
- Имя сайта — произвольно имя будущего сайта.
- Физический путь — путь до папки на сервере, где будут расположены файлы сайта.
- Тип — тип соединения (http или https). Для первого запуска обойдемся http. При необходимости, его можно всегда поменять или использовать оба типа одновременно.
- IP-адрес — если на сервере много IP-адресов, то мы можем выбрать конкретный, на котором будет работать сайт.
- Порт — сетевой порт, на котором будет работать сайт. Как правило, это 80 для http или 443 для https.
- Имя узла — доменное имя сайта, при обращении по которому должен открываться создаваемый сайт.
После заходим в каталог с сайтом (в нашем примере, это C:inetpubwwwrootphp) и создадим в нем файл index.html со следующим содержимым:
Запуск MySQL Workbench
После установки MySQL в меню Windows 10 появятся все необходимые ярлыки, которые Вы можете использовать. Например, для запуска среды «MySQL Workbench 8» можно использовать соответствующий ярлык.
Заметка! Если Вас интересует SQL и T-SQL, рекомендую пройти наши курсы по T-SQL, с помощью которых Вы «с нуля» научитесь работать с SQL и программировать с использованием языка T-SQL в Microsoft SQL Server.
Очистка ресурсов
Вы создали сервер службы «База данных Azure для MySQL» в группе ресурсов. Если вы ожидаете, что в будущем эти ресурсы вам не понадобятся, их можно удалить, удалив группу ресурсов или сам сервер MySQL. Чтобы удалить группу ресурсов, выполните следующие шаги.
- Войдите на портал Azure; найдите в поиске и выберите Группы ресурсов.
- В списке групп ресурсов выберите имя группы ресурсов.
- На странице Обзор для группы ресурсов выберите Удалить группу ресурсов.
- В диалоговом окне подтверждения введите имя группы ресурсов и щелкните Удалить.
Чтобы удалить сервер, нажмите кнопку Удалить на странице Обзор сервера, как показано ниже:
Создание директории для веб-проекта
Создадим в Windows 10, например, с помощью проводника, директорию для сайта (проекта) test.ru:
При использовании WSL 2 рекомендуется сохранять файлы в файловой системе Linux. Это необходимо для обеспечения максимальной производительности.
В этом случае директорию для проекта поместим сюда:
Для более удобного создания каталогов и работы с файловой системой Linux вы можете установить в Ubuntu, например, Midnight Commander:
Запуск Midnight Commander осуществляется посредством ввода команды:
Схема присвоения версий MySQL
Как и любой серьезный программный продукт, версии MySQL имеют специальную маркировку. Посмотрим на неё.
Последняя версия, MySQL 5.7.11. Что это значит?
- Первая цифра [5] обозначает номер основной версии. Также, одинаковая версия разных дистрибутивов, означает единый формат файла.
- Вторая цифра [7] обозначает уровень очередного выпуска. Первая и вторая цифры вместе это серийный номер релиза.
- Третья цифра [11] это номер версии в пределах выпуска. Чем больше последняя цифра, тем новее версия MySQL.
Бонус №1. Работа с php из консоли Windows
Возможно, кому-то пригодится. Мне вот пригодилось, когда наш злобный техлид решил, что «SQL-файлы – это ващепрошлыйвек, давайте юзать миграции». Я, конечно, для приличия попыталась изобразить полное непонимание и даже пустить слезу, но была разоблачена и отправлена разбираться с тем, как это работает на Windows.
Оказалось, что всё что нужно для счастья – это прописать PHP директорию в PATH.
Нажимаем на «Изменить» и добавляем в конец строки
;Z:usrlocalphp5
Теперь проверим, что всё заработало.
В директории тестового сайта создадим файл console.php
Открываем консоль (можно прям из этой же папки – щелкаем правой кнопкой мыши с зажатым SHIFT-ом на пустом месте и выбираем пункт «Открыть окно команд»).
Вводим:
> php console.php “UserName”
Консоль отвечает:
> “Hello, UserName!”
PHP побеждён, всеобщее ликование, апплодисменты, занавес.