Устанавливаем на windows apache, mysql и php

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

Ниже Вы можете ознакомиться с примерами файла my.ini, настроенного в соответствии с вышеописанными рекомендациями под ОС Windows 7 x32. По разным причинами, связанными в основном с обновлением программного обеспечения MySQL, некоторые переменные и методы в файле конфигурации могут вызывать конфликты при запуске службы сервера MySQL.

Стоит отметить, что начиная с версии 5.6 служба может быть занесена в реестр не как MySQL, а как MySQL56. Также, если в вашей системе остались какие-либо данные о предыдущих установках MySQL, имя службы может принять дополнительный порядковый номер, как например MySQL56_1. Присвоенные имена служб можно проверить через services.msc или диспетчер задач. Будьте внимательны, не все службы можно отследить через msconfig.exe! В случае, если служба называется не MySQL, стоит подправить строку dependencies в server.ini, который находится в установочной директории сервера BGBilling, и исправить название службы на действительное.

Итак, ниже приведены два примера my.ini. Первый использовался для запуска MySQL версии 5.1, второй — 5.6.

MySQL 5.1


port=3306
default-character-set=cp1251


default-character-set=cp1251


port=3306
basedir="C:/mysql"
datadir="C:/ProgramData/MySQL/MySQL Server 5.1/Data"
tmpdir = "C:/tmpserver"
socket="C:/mysql/mysql.sock"
user=mysql
log-slow-queries=C:/mysql/log/slowquery.log
skip-name-resolve
#
character-set-server=cp1251
default-storage-engine = INNODB
default-character-set=cp1251
default-collation=cp1251_general_ci
sql-mode=
#
max_allowed_packet=50M
max_connections=800
#
memlock
table_cache=4096
thread_cache_size=300
thread_concurrency=2
#
# InnoDb
innodb_file_per_table
#
innodb_log_group_home_dir = "C:/mysql/lib/"
innodb_buffer_pool_size = 1G
innodb_additional_mem_pool_size = 16M
#
innodb_log_files_in_group = 2
innodb_log_file_size = 128M
innodb_log_buffer_size = 8M
innodb_lock_wait_timeout = 120
#
innodb_thread_concurrency = 2
innodb_flush_log_at_trx_commit = 2
#innodb_flush_method = O_DIRECT
#
# MyIsam
#key_buffer_size = 1G
#myisam_recover
#myisam_repair_threads = 1
#myisam_data_pointer_size = 6
#
# Replication
#server-id=1
#log-bin=/var/lib/mysql-binlog/mysql-bin
#expire_logs_days=3
#replicate-do-db=bgbilling
#relay-log-space-limit = 10G
#
#
#

max_allowed_packet=50M
default-character-set=cp1251

MySQL 5.6


port=3306
default-character-set=cp1251


default-character-set=cp1251


port=3306
basedir="C:/MySQL/MySQL Server 5.6"
datadir="C:/ProgramData/MySQL/MySQL Server 5.6/data"
tmpdir = "C:/tmpserver"
socket="C:/mysql/mysql.sock"
user=mysql
#log-slow-queries="C:/MySQL/MySQL Server 5.6/slowquery.log"
skip-name-resolve
#
character-set-server=cp1251
default-storage-engine = INNODB
#default-character-set=cp1251
#default-collation=cp1251_general_ci
sql-mode=
#
max_allowed_packet=50M
max_connections=800
#
memlock
#table_cache=4096
thread_cache_size=300
thread_concurrency=2
#
# InnoDb
innodb_file_per_table
#
innodb_log_group_home_dir = "C:/MySQL/MySQL Server 5.6/lib/"
innodb_buffer_pool_size = 1G
innodb_additional_mem_pool_size = 16M
#
innodb_log_files_in_group = 2
innodb_log_file_size = 128M
innodb_log_buffer_size = 8M
innodb_lock_wait_timeout = 120
#
innodb_thread_concurrency = 2
innodb_flush_log_at_trx_commit = 2
#innodb_flush_method = O_DIRECT
#
# MyIsam
#key_buffer_size = 1G
#myisam_recover
#myisam_repair_threads = 1
#myisam_data_pointer_size = 6
#
# Replication
#server-id=1
#log-bin=/var/lib/mysql-binlog/mysql-bin
#expire_logs_days=3
#replicate-do-db=bgbilling
#relay-log-space-limit = 10G
#
#
#

max_allowed_packet=50M
#default-character-set=cp1251

Шаг 4 — Тестирование MySQL

Независимо от способа установки MySQL должна запускаться автоматически. Чтобы проверить это, проверьте ее статус.

Результат будет выглядеть примерно так:

Если MySQL не запускается, можно активировать ее с помощью команды .

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

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

Это означает, что система MySQL запущена и работает.

Финальная стадия установки

Установка MySQL завершена, для создания пароля root вновь запускается командная строка в режиме администратора (2).

Во втором окне вводится команда: mysql -u root -p. Здесь вызывается сервер, а не его демон. Будет предложено ввести пароль: нужно ввести ту временную строку, что была выдана ранее. В данном случае: oRJiT%Im5eBA.

Единственная первая и правильная команда – установка пароля для root:

ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘sc’;

Вместо ‘sc’ – следует написать желаемый пароль с учетом требований безопасности, то есть не два простых символа, а что-то более-менее сложное. Следует обязательно написать в конце команды символ «;» – это команда! Этот символ обязателен.

В скриншоте показано добавление еще двух администраторов и передача им полных прав управления установленной системой MySQL.

На этом процедура завершена, она не сложнее, чем установка MySQL на Ubuntu, CentOS, FreeBSD или другой вариант линуксоида. Следует отметить: вариант установки под Windows – это простое использование мощного инструментального средства для создания и использования баз данных.

Установите и настройте Apache HTTPD

Apache HTTPD или просто «апач» чаще всего используется для обработки запросов и отправки сформированных скриптами ответов по протоколам HTTP и HTTPS

2.1. Загрузите архив с последней версией Apache HTTPD для 64–разрядной Windows: httpd-2.4.38-win64-VC15.zip. На всякий случай, проверьте на официальном сайте Apache Lounge нет ли версии новее: apachelounge.com/download.

Официальная сборка Apache под Windows не выпускается, сборки готовят отдельные организации, самой активной из которых является Apache Lounge. Сам Apache работает по HTTP и в Windows трудится как фоновый процесс, а в Linux — как демон (англ. daemon), откуда и название HTTPD. Существует Apache и под 32-битные версии Windows, для них необходима версия Win32, а не Win64. Указанные в имени файла VC15, VC14 и VC11 говорят о версии Visual Studio, которой скомпилирован Apache. Выберете самую последнюю версию и установите свежие вспомогательные файлы Visual Studio с официального сайта Microsoft: VC_redist.x64.exe.

2.2. Распакуйте архив и перенесите содержимое папки Apache24 в папку D:\web\apache.

Важно ничего не перепутать и перенести не все содержимое архива, а лишь содержимое подпапки с именем Apache24. В архиве могут быть файлы readme и прочая информация, которая не нужна для работы сервера

2.3. Откройте файл D:\web\apache\conf\httpd.conf. Поиском по файлу найдите и измените значение на . Найдите и измените значения и на .

У Apache несколько файлов с настройками, все они находятся в папке conf (от слова configuration, «конфигурация» в переводе с английского). Основные настройки задаются в файле httpd.conf. Параметр ServerRoot задает корневую папку самой программы Apache, а DocumentRoot и Directory задают корневую папку хоста, то есть ту папку, в которой хранятся файлы сайта. Номера строк с параметрами могут меняться в новых версиях Apache, поэтому я их не привожу, поищите параметры по документам. Чтобы открыть окошко поиска в вашем текстовом редакторе, нажмите Ctrl + F.

2.4. В том же файле httpd.conf найдите, раскомментируйте и измените значение на .

Параметр ServerName задаёт доменное имя, по которому хост (иначе говоря, сайт) будет откликаться. Так повелось, что домен внутри компьютера называют localhost и этот домен соответствует IP–адресу 127.0.0.1. Для обращения к сайту можно использовать как доменное имя, так и IP–адрес. Порт под номером 80 используется в вебе для протокола HTTP без шифрования. Комментарии в файле конфигурации Apache предваряются октоторпом (символом решетки), сервер будет игнорировать такие строки.

2.5. В том же файле httpd.conf найдите и измените значение параметра ErrorLog на , а также значение CustomLog на common. Сохраните файл httpd.conf с перезаписью.

Как правило, работающий сервер выдает ошибки. Даже опытным разработчикам редко удается их избежать. Параметры ErrorLog и CustomLog хранят адреса файлов с журналами ошибок сервера. Если с сервером что–то не так — загляните в эти файлы.

2.6. Установите Apache через командную строку. Откройте командную строку (или выполните команду cmd в PowerShell) от имени администратора и выполните команду .

Сервер установится тут же, прямо в режиме командной строки. Если вся подготовка прошла без ошибок — Apache установится, но ещё не запустится. Если захотите удалить Apache, то выполните в командной строке команду .

2.7. Запустите «Диспетчер задач» Windows, перейдите на вкладку «Службы». Найдите Apache2.4 в списке служб, вызовите контекстное меню: так вы сможете запустить, остановить или перезапустить сервер. Запустите сервер.

В файлах сервера Apache для Windows также есть программа Apache Monitor, графический интерфейс, смысл которого ровно такой же: запускать, останавливать и перезапускать службу Apache2.4. Но в последней версии Windows 10 сильно проще попасть в список служб, поэтому смысла пользоваться Apache Monitor больше нет.

2.8. Откройте браузер и наберите адрес http://localhost/ или http://127.0.0.1/ — вы должны увидеть надпись Hello world.

Браузер обратится с запросом по 80 порту к тому же компьютеру, на который он установлен, и будет ждать ответа. Если установка Apache прошла без ошибок, но в ответе нет надписи Hello world — проверьте есть ли в каталоге D:/web/www файл index.html и еще раз пройдитесь по всем пунктам. Если все прошло успешно и в ответ вы получили файл index.html, то поздравляю, вы уже можете дополнять его кодом на HTML, CSS и JavaScript и обращаться к файлам по имени хоста.

2.0. Обновить Apache легко. Переименуйте папку D:\web\apache в apache_old, распакуйте новую версию Apache в D:\web\apache, перенесите httpd.conf из папки apache_old в папку apache. Если все работает — удалите apache_old.

Шаг 4 — Тестирование MySQL

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

Вы увидите вывод, похожий на этот:

Если MySQL не запущена, вы можете запустить её с помощью команды .

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

Вы увидите вывод, похожий на этот:

Это означает, что MySQL запущена и работает.

Начало установки

После завершения загрузки запустите программу установки следующим образом.

  1. Щелкните правой кнопкой мыши загруженный установочный файл (например, mysql-installer-community-5.6.14.0.msi) и выберите пункт ‘Выполнить’.Запустится программа установки MySQL.
  2. На панели приветствия выберите ‘Установить продукты MySQL’.
  3. На панели информации о лицензии ознакомьтесь с лицензионным соглашением, установите флажок принятия и нажмите кнопку ‘Далее’.
  4. На панели ‘Найти последние продукты’ нажмите кнопку ‘Выполнить’. После завершения операции нажмите кнопку ‘Далее’.
  5. На панели «Тип настройки» выберите параметр «Пользовательская», а затем нажмите кнопку «Далее».
  6. На панели ‘Выбор компонентов обеспечения’ убедитесь, что выбран MySQL Server 5.6.x, и нажмите кнопку ‘Далее’.
  7. На панели ‘Проверить требования’ нажмите кнопку ‘Далее’.
  8. На панели ‘Установка’ нажмите кнопку ‘Выполнить’.После успешного завершения установки сервера на панели ‘Установка’ отображается информационное сообщение. Нажмите кнопку «Далее».
  9. На странице ‘Настройка’ нажмите кнопку ‘Далее’.
  10. На первой странице конфигурации сервера MySQL (1/3) установите следующие параметры:
    • Тип конфигурации сервера. Выберите вариант ‘Компьютер для разработки’.
    • Включите поддержку сети TCP/IP. Убедитесь, что флажок установлен, и задайте следующие параметры ниже:

      • Номер порта. Укажите порт подключения. По умолчанию установлено значение 3306; не следует изменять его без необходимости.
      • Откройте порт брандмауэра для доступа к сети. Выберите исключение добавления брандмауэра для указанного порта.
    • Расширенная настройка. Выберите флажок ‘Показать расширенные параметры’ для отображения дополнительной страницы конфигурации для настройки расширенных параметров для экземпляра сервера (если требуется).

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

    Нажмите кнопку «Далее».

  11. На второй странице конфигурации сервера MySQL (2/3) установите следующие параметры:
    • Пароль учетной записи root.

      • Пароль root для MySQL. Введите пароль пользователя root.
      • Повторите ввод пароля. Повторно введите пароль пользователя root.

      Примечание. Пользователь root — это пользователь, который имеет полный доступ к серверу баз данных MySQL — создание, обновление и удаление пользователей и так далее. Запомните пароль пользователя root (администратора) – он понадобится вам при создании примера базы данных.

    • Учетные записи пользователя MySQL. Нажмите кнопку ‘Добавить пользователя’ для создания учетной записи пользователя. В диалоговом окне ‘Сведения о пользователе MySQL’ введите имя пользователя, роль базы данных и пароль (например, !phpuser). Нажмите кнопку «ОК».

    Нажмите кнопку «Далее».

  12. На третьей странице конфигурации сервера MySQL (3/3) установите следующие параметры:
    • Имя службы Windows. Укажите имя службы Windows, которая будет использоваться для экземпляра сервера MySQL.
    • Запустите сервер MySQL при запуске системы. Не снимайте этот флажок, если сервер MySQL требуется для автоматического запуска при запуске системы.
    • Запуск службы Windows в качестве. Возможны следующие варианты.

      • Стандартная системная учетная запись. Рекомендуется для большинства сценариев.
      • Нестандартный пользователь. Существующая учетная запись пользователя рекомендуется для сложных сценариев.

    Нажмите кнопку «Далее».

  13. На странице ‘Обзор конфигурации’ нажмите кнопку ‘Далее’.
  14. После успешного завершения настройки на панели ‘Завершение’ появляется информационное сообщение. Нажмите кнопку «Завершить».

    Примечание. Для проверки успешности настройки запустите диспетчер задач. Если MySQLd-nt.exe присутствует в списке ‘Процессы’, сервер базы данных запущен.

3: Настройка БД для WordPress и создание учетных данных

MySQL теперь прослушивает внешний IP-адрес, но в настоящее время в СУБД нет пользователей или базы данных с удаленной поддержкой. Создайте базу данных для WordPress и пользователя, который сможет получить к ней доступ.

Подключитесь к MySQL как root:

Введите root-пароль MySQL, после чего командная строка изменится:

Создайте БД для WordPress, например:

Примечание: Все операторы SQL должны заканчиваться точкой с запятой (;). Если вы, нажав Enter в команде MySQL, видите только строку ->, вы, вероятно, забыли про точку с запятой. Просто введите символ в новой строке и снова нажмите Enter, чтобы продолжить.

Теперь, когда есть база данных, нужно создать пользователя. При создании пользователя нужно определить два разных профиля на основе того, откуда подключается этот пользователь. Создайте локального пользователя, а удаленный пользователь будет привязан к IP-адресу веб-сервера.

Чтобы создать локального пользователя БД, введите:

Передайте этому пользователю все права на БД.

Этот пользователь теперь может выполнять любые операции в базе данных WordPress, но эту учетную запись нельзя использовать удаленно, поскольку она поддерживает только соединения с локальной машины.

Теперь создайте сопутствующую учетную запись, которая будет поддерживать удаленные соединения исключительно с веб-сервера (сервер 1). Для этого понадобится IP-адрес вашего веб-сервера. Чтобы настройка была последовательной и понятной, можно использовать то же имя пользователя, что и раньше, только указать другой хост.

Имейте в виду, что IP-адрес должен использовать ту же сеть, что указана в файле mysqld.cnf. Это означает, что если вы ранее указали внутренний IP-адрес, вам нужно создать правило для использования внутреннего IP-адреса веб-сервера. Если вы настроили сервер MySQL для использования внешнего IP-адреса, вы должны указать внешний IP-адрес веб-сервера.

Теперь у вас есть пользователь для удаленного доступа к БД. Передайте ему права на БД:

Затем нужно сбросить привилегии, чтобы обновить настройки:

Закройте командную строку MySQL:

Хабраинтервью с Майклом Видениусом (MySQL)

К сожалению, несмотря на то, что ваши вопросы Монти были отправлены задолго до конца декабря, ответить на них он сумел несколько позже запланированного срока, что, впрочем, не умаляет интересности и актуальности его ответов (англоязычный оригинал ответов Майкла на ваши вопросы можно скачать здесь (RTF-файл, 16,6 Кбайт); ниже дан наш перевод, он может быть не идеален, так что буду рад, если укажете на возможные ошибки).
Напомню, что Майкл «Монти» Видеинус — это один из основных разработчиков популярной СУБД MySQL, которую, в свою очередь, хочет заиметь Oracle Corporation. Такое положение дел Монти по понятным причинам совершенно не устраивает, в связи с чем он в прошлом году опубликовал у себя в блоге соответствующую заметку, обращаясь за помощью к комьюнити.Итак, Монти, вы получили вопросы от Habrahabr.ru? Люди волнуются, что вы так долго не отвечаете.
Я только что заметил. Прошу прощения за задержку, добавлял поддержку иностранных языков на helpmysql.org, это заняло почти всё моё время в последние дни.Как вы пришли к идее создания MySQL в 1994 году? Почему вообще решили этим заняться? Что не устраивало в существующих решениях?
MySQL была основана на более старой программе для баз данных Unireg, которую я начал разрабатывать в 1982-м. Это был генератор приложений на основе tty (screen). С помощью Unireg мы создавали прикладные программы для наших клиентов.
В 1993-м нам понадобилось обеспечить клиентам доступ к их базам Unireg через интернет. Чтобы решить эту проблему, я сделал поверх Unireg слой SQL (поскольку я полагал, что SQL будет легко встроить в скрипты HTML), а также драйвер ODBC.
Другими словами, первоначальной задачей MySQL было решение наших собственных проблем, чтобы предоставить клиентам доступ к данным.
В качестве альтернативного варианта мы рассматривали Sybase, но эта СУБД была недостаточно быстрой (по сравнению с Unireg) и её нельзя было легко встраивать в HTML-страницы.

PHP

Установка PHP

Откроется страница с несколькими версиями пакета — там как мы ставим PHP как FastCGI, нам нужна версия «Non Thread Safe» (не потокобезопасная), так как она будет работать быстрее. И так, скачиваем zip-архив на сервер:

Для установка PHP на Windows достаточно просто распаковать содержимое архива в любой каталог, например, C:\Program Files\PHP:

Делаем копию файла php.ini-production и переименовываем его в php.ini:

Открываем на редактирование данный файл и правим следующее:

open_basedir = C:\inetpub\wwwroot

cgi.force_redirect = 0

short_open_tag = On

* где open_basedir — директория, в которой будут разрешены PHP-скрипты; cgi.force_redirect — указывает будет ли скрипты обрабатываться при прямом запросе или только при запросе от веб-сервера. В IIS запросы контролируются самим веб-сервером, поэтому опция может оказать обратный эффект; short_open_tag — позволяет использовать короткий вид открывающих тегов для PHP.

Проверяем, что PHP работает. Открываем командную строку Windows — переходим в каталог с установленным PHP:

cd «C:\Program Files\PHP»

Запускаем php с параметром -m:

php -m

Мы должны получить список подключенных модулей:

bcmath
calendar
Core
ctype

Но если мы получим ошибку, связанную с отсутствием файла VCRUNTIME140.dll:

… необходимо установить Microsoft Visual C++ Redistributable. Переходим на страницу https://www.microsoft.com/ru-RU/download/details.aspx?id=52685 и скачиваем компонент:

После загрузки, устанавливаем его на сервер, после чего, снова пробуем вывести на экран модули php:

php -m

Настройка сайта на IIS для работы с PHP

И так, веб-сервер поднят, PHP установлено, сайт работает. Настроим связку IIS + PHP. Открываем панель управления IIS — переходим к созданному сайту и кликаем по Сопоставления обработчиков:

В меню справа кликаем по Добавить сопоставление модуля:

Заполняем поля:

* где:

  • Путь запроса — путь к файлам, при вызове которых действует сопоставление. В данном примере для всех файлов, заканчивающихся на php.
  • Модуль — действующий модуль для обработки запроса.
  • Исполняемый файл — файл, который будет выполнять обработку запроса. В данном примере мы выбрали файл из скачанного и распакованного нами архива PHP.
  • Имя — произвольное имя для сопоставления.

Нажимаем OK и подтверждаем действие. Сопоставление создано.

Теперь заходим в Документ по умолчанию:

… и добавляем новый документ:

* в данном примете мы указываем, что по умолчанию сервер будет искать файл index.php, если таковой не указан явно в запросе.

Открываем в проводнике папку, в которой находятся файлы сайта (в нашем примере, C:\inetpub\wwwroot\php). Создаем файл index.php с содержимым:

<?php
phpinfo();
?>

PHP Manager в IIS

Скачиваем дополнение:

Выполняем установку на сервере, запустив загруженный файл. Открываем диспетчер управления IIS — мы должны увидеть PHP Manager:

Настройка L2TP подключения

3: Настройка аутентификации и привилегий (опционально)

В системах Ubuntu, которые используют MySQL 5.7 и старше, пользователь root по умолчанию проходит аутентификацию с помощью плагина auth_socket, а не с помощью пароля. Это повышает безопасность установки и во многих случаях упрощает работу с ней, но также может усложнить ситуацию, если вам нужно открыть доступ к пользователю какой-то внешней программе (например, phpMyAdmin).

Чтобы использовать пароль для аутентификации root пользователя MySQL, вам необходимо переключить метод аутентификации с auth_socket на другой плагин, например на caching_sha2_password или mysql_native_password. Для этого откройте командную строку MySQL:

Теперь уточните, какой метод аутентификации использует каждый ваш пользователь MySQL:

В нашем случае root-пользователь проходит аутентификацию по плагину auth_socket. Чтобы настроить его для парольной аутентификации, запустите команду ALTER USER.

Вместо password выберите надежный пароль. Имейте в виду: этот пароль заменит тот пароль, что вы выбрали в разделе 2.

Примечание: Данный оператор ALTER USER настраивает root-пользователя MySQL для аутентификации с помощью плагина caching_sha2_password. Согласно , плагин caching_sha2_password рекомендуется использовать для аутентификации MySQL, поскольку он обеспечивает более безопасное шифрование паролей, чем старый, но все еще широко используемый mysql_native_password.

Однако многие приложения PHP – например, phpMyAdmin – не очень хорошо поддерживают caching_sha2_password. Если вы планируете использовать эту базу данных с приложением PHP, рекомендуем настроить аутентификацию root с помощью плагина mysql_native_password:

Затем запустите FLUSH PRIVILEGES, чтобы перезагрузить таблицы привилегий и применить новые настройки:

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

Как видите, теперь корневой пользователь MySQL аутентифицируется с помощью caching_sha2_password. После этой проверки вы можете выйти из оболочки MySQL:

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

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

Создайте нового пользователя и выберите для него надежный пароль:

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

Обратите внимание, на этом этапе вам не нужно снова запускать команду FLUSH PRIVILEGES. Она необходима только при изменении таблиц привилегий с помощью операторов INSERT, UPDATE или DELETE

Поскольку вы создали нового пользователя, а не меняли уже существующего, FLUSH PRIVILEGES здесь не нужна.

После этого выйдите из оболочки MySQL:

А сейчас давайте проверим установку MySQL.

Настройка защищенных подключений для удаленных клиентов

Теперь, когда сервер поддерживает SSL, можно начать настройку безопасного удаленного доступа. Для этого необходимо:

  • Настроить поддержку удаленных подключений только по SSL.
  • Подключиться к общедоступному интерфейсу.
  • Создать пользователя MySQL для удаленных подключений.
  • Настроить брандмауэр для поддержки внешних подключений.

Настройка удаленного доступа

На данный момент сервер MySQL поддерживает подключения SSL от клиентов. Но он также поддерживает и незашифрованные удалённые соединения, а это небезопасно.

Чтобы исправить это, нужно включить опцию require_secure_transport, которая включает ограничение удалённых соединений и поддерживает только SSL или соединения по локальному сокету Unix.

Поскольку сокеты доступны только внутренним подключениям сервера, единственным способом подключения, доступным для удаленных пользователей, будет SSL.

Чтобы включить этот параметр, откройте файл /etc/mysql/my.cnf в текстовом редакторе:

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

Создайте раздел , чтобы определить процесс MySQL. Добавьте директиву require_secure_transport со значением ON.

Эта строка делает обязательным шифрование соединений.

По умолчанию MySQL прослушивает только соединения, поступающие от локальной машины. Чтоб ынастроить прослушивание удалённых соединений, укажите другой интерфейс в bind-address.

Чтобы система MySQL могла принимать соединения на любой свой интерфейс, укажите в bind-address значение 0.0.0.0.

Сохраните и закройте файл.

Перезапустите MySQL:

Убедитесь, что MySQL прослушивает 0.0.0.0 вместо 127.0.0.1.

Как видите, теперь MySQL прослушивает 0.0.0.0, то есть поддерживает соединения на всех интерфейсах.

Теперь нужно открыть MySQL в брандмауэре.

Настройка удаленного пользователя MySQL

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

Откройте сессию root-пользователя MySQL:

Создайте нового удалённого пользователя с помощью команды CREATE USER.

Используйте IP-адрес клиентского компьютера в качестве хоста нового пользователя, чтобы ограничить подключение к этой машине.

На случай если опция require_secure_transport будет отключена, добавьте REQUIRE SSL, чтобы ограничить пользователя только SSL-соединениями.

Затем предоставьте пользователю права на требуемые базы данных или таблицы. Для примера создайте базу данных example и передайте новому пользователю право на неё:

Затем очистите привилегии, чтобы обновить настройки БД:

Закройте оболочку MySQL:

Тестирование удалённых подключений

Примечание: Этот подраздел нужно выполнить на клиенте MySQL.

Подключитесь к клиенту MySQL и убедитесь, что можете создать удалённое подключение к серверу. Опция –u указывает удалённого пользователя, -h задаёт IP-адрес MySQL.

Предоставьте пароль указанного в команде пользователя, после чего вы будете подключены к удалённому серверу.

Убедитесь, что подключение шифруется:

Попробуйте создать соединение без шифрования:

После запроса пароля соединение будет сброшено:

Как видите, поддерживаются только SSL-соединения, а незашифрованные соединения сбрасываются.

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

Что такое MySQL?

MySQL – бесплатная реляционная система управления базами данных. Разработку и поддержку MySQL осуществляет компания Oracle.

MySQL очень популярная СУБД, ее активно используют в интернете, как систему хранения данных у сайтов, иными словами, подавляющее большинство сайтов в интернете для хранения своих данных используют именно MySQL.

Недавно я проводил анализ данных нескольких официальных рейтингов популярности СУБД и другой статистической информации, с целью определить, какая СУБД действительно является самой популярной, и, как результат, MySQL на текущей момент является самой популярной СУБД в мире. Ознакомиться со всеми результатами моего анализа можете в материале – ТОП 5 популярных систем управления базами данных.

Установка MySQL 5.6.23 на Windows 7

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

то это означает, что у Вас не установлен Microsoft .NET Framework нужной версии, так как для работы всех компонентов входящих в состав данного установщика необходим минимум клиентский профиль Microsoft .NET Framework 4, о том, что это такое и как его установить мы подробно разговаривали в материале про установку Microsoft .NET Framework 4.0. Также для работы программы MySQL Workbench обязательно требуется Microsoft Visual C++ Redistributable for Visual Studio 2013, поэтому его тоже нужно установить. Кстати, если Вы не знаете что установлено у Вас в системе, а что нет, не переживайте, в процессе установки установщик будет проверять Вашу систему на наличие необходимых внешних компонентов, которые нужны для работы каждого из выбранных продуктов MySQL, и выдаст их список, и в случае необходимости вы можете их быстро установить (чуть ниже мы это еще затронем).

Примечание! Язык программы установки английский также как и интерфейс программы MySQL Workbench.

Соглашаемся с условиями лицензионного соглашения, для этого ставим соответствующую галочку и жмем «Next»

Шаг 2

Затем отмечаем то, что мы хотим установить, а так как мы решили установить все то, что нужно начинающему разработчику то выбираем тип установки по умолчанию, т.е. «Developer Default» и жмем «Next»

Шаг 3

Далее программа установки будет проверять Вашу систему на наличие необходимых компонентов, Вам в свою очередь необходимо установить эти компоненты (т.е. выделить их и нажать «Execute») или нажать «Next» но в этом случае соответствующие компоненты не будут работать. Но, например если Вам эти компоненты и не нужны, допустим, Вы не используете Visual Studio, поэтому и устанавливать компонент не нужно. У меня, например, на этом тестовом компьютере не установлен Microsoft Office и Visual Studio, поэтому в данном случае перечисленные компоненты я устанавливать не буду, жму «Next».

Небольшое предупреждение, связанное с отсутствием некоторых компонентов, жмем «Yes»

Шаг 4

Затем установщик скажет нам, что конкретно он будет устанавливать, мы жмем «Execute»

И вот началась установка

После установки всех компонентов появится кнопка «Next» мы ее и нажимаем

Далее необходимо настроить пару компонентов, жмем «Next»

Шаг 6

И так как мы только начинающие на первом окне предлагаю оставить все по умолчанию, т.е. ничего не менять, а сразу нажать «Next»

Шаг 7

На следующем окне нужно придумать пароль для root пользователя, т.е. для главного администратора, также, если хотите здесь можно сразу добавить и других пользователей, т.е. создать их через кнопку «Add User», жмем «Next»

Затем оставляем все по умолчанию и жмем «Next»

Шаг 9

Далее необходимо применить все настройки, для этого жмем «Execute»

Все, сервер MySQL сконфигурирован, жмем «Finish»

Теперь необходимо настроить тестовые данные для MySQL сервера, жмем «Next»

Подключаемся к серверу, жмем сначала «Check» затем «Next»

Далее жмем «Execute», а потом «Finish»

Все, установка практически завершена, жмем «Next»

А затем «Finish», кстати, если поставить галку «Start MySQL Workbench after Setup» то сразу запустится программа MySQL Workbench

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector