настройка mysql windows my ini
IT-блог о веб-технологиях, серверах, протоколах, базах данных, СУБД, SQL, компьютерных сетях, языках программирования и создание сайтов.
MySQL сервер. Файл конфигураций my.ini. Настройка кодировки MySQL сервера. Таблицы перекодировок
Здравствуйте, уважаемые посетители моего скромного блога для начинающих вебразработчиков и web мастеров ZametkiNaPolyah.ru. Продолжим сегодня рубрику Заметки о MySQL, в которой я уже успел рассказать о том, как установить MySQL сервер и как настроить сервер баз данных. Сегодня я продолжу рассказывать о настройках сервера MySQL. В данной статье мы разберемся со следующими вопросами: куда устанавливается MySQL сервер, где найти базы данных MySQL сервера, как найти базы данных MySQL, для чего нужен файл my.ini, посмотрим примеры настройки сервера MySQL и где найти примеры настройки MySQL сервера.
Разберемся с кодировкой MySQL сервера. Какую кодировку лучше использовать. Разберемся с командами MySQL сервера для смены кодировки. Так же затронем вопрос о включение и выключение MySQL, обратите внимание, что MySQL сервер не перезагружается. Посмотрим, какие возможности есть у сервера MySQL. Разберемся где лежат таблицы перекодировок MySQL сервера и как их добавить. А также сделаем настройки файла my.ini.
MySQL сервер. Настройка MySQL сервера, файл конфигурации my.ini, примеры настройки MySQL сервера.
Как я уже говорил, с установкой и предварительной настройкой MySQL сервера мы разобрались, теперь давайте посмотрим, хотя бы поверхностно, из чего состоит MySQL сервер. Какие файлы за что отвечают. MySQL сервер, в моем случае был установлен по данному пути: c:\Users\Public\MySQL\, кто-то мог установить сам сервер в папку Program Files, обратите внимание, что этот путь не указывает, то место, где хранятся базы данных MySQL сервера, здесь находится сам сервер баз данных.
На скрине можно увидеть несколько файлов и папок сервера MySQL, нас собственно большая часть этих файлов не волнует.
Программы MySQL сервера, какой файл для чего нужен
Где лежат примеры настроек MySQL сервера мы разобрались. Сами программы, предназначенные для обслуживания баз данных, находятся в папке bin.
Сам сервер MySQL – это mysqld.exe, d – означает демон, ну или служба. Про некоторые другие утилиты и программы мы поговорим в дальнейшем более подробно. Если у вас стоит win xp, то базы данных будут находиться c:\Documents and Settings\All Users\Application Data\MySQL\ MySQL Server 5.x\data, если вы пользуетесь total commander или любым другим нормальным файловым менеджером, то без труда найдете эту папку, если вы пользуетесь проводником от Windows, то обязательно укажите в настройках «Отображать скрытые файлы», так как данная папка скрыта.
На самом деле все это можно настроить в файле my.ini и реально эти папки могут находиться, там где вам будет удобнее. Файл my.ini нужно будет разобрать более подробно, и тема эта для отдельной статьи.
Кодировка MySQL сервера. SET NAMES — команда для смены кодировки. Кодировка командной строки Windows.
И так, теперь немного поговорим о кодировке сервера MySQL и кодировке командной строки Windows. Если вы будете пользоваться MySQL Command Lint Client, то проблем с кодировкой у вас возникнуть не должно.
Данный клиент установиться вместе с сервером и работа в нем не отличается от работы с командной строкой Windows. Для начала, вы вводите пароль, придуманный вами при установки MySQL сервера, а затем, не заморачиваясь с кодировками и командами типа SET Names, начинаете работать с базами данных: создавать новые базы данных, удалять базы данных, добавлять строки и столбцы к существующим таблицам баз данных, делать выборки из баз данных, создавать и удалять таблицы и многое-многое другое.
Но если вы решили управлять сервером MySQL через командную строку, то знайте, что кодировка командной строки Windows отличается от кодировки MySQL сервера, в командной строке – это cp866, MySQL сервер в моем случае работает с кодировкой UTF8. И это нужно исправить, кодировку командной строки поменять мы не можем. Остается менять кодировку, с которой работает сервер MySQL.
Как изменить кодировку MySQL сервера. Как получить доступ к серверу MySQL через командную строку Windows.
Тут у нас есть два способа. Первый из них, постоянно писать команду SET NAMES и указывать кодировку cp866. SET NAMES – это не одна команда, как считают некоторые, а целых три. Первая команда – установить кодировку ввода, то есть, с какой кодировки перекодировать данные, которые получает сервер. Вторая команда – установить кодировку вывода, то есть, в какой кодировки сервер MySQL будет отдавать данные. И третья команда – установить collation или по другому правила сравнения строк. И чтобы не набирать три команды сразу была придумана команда SET NAMES. И так, чтобы указать нужную кодировку следует написать SET NAMES, а затем в одинарных кавычках написать нужную кодировку.
Установка MySQL 5.5 в Windows
Используя материалы этой статьи, можно без проблем установить сервер базы данных 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) или второй (Server Machine) вариант, в зависимости от планируемого использования компьютера.
На следующем этапе установки предлагается выбор из трех вариантов:
На следующем этапе конфигурирования MySQL предлагается установить сетевые настройки БД MySQL:
Далее предлагается выбрать кодировку баз данных по умолчанию:
Ошибка 1045 при установке MySQL
Ошибка 1045 на этапе применения настроек безопасности MySQL может возникнуть по двум причинам: закрытие порта MySQL (3306 по умолчанию) брандмауэром или несовпадению паролей root новой инсталяции со старой.
И если проблему с брандмауером можно легко и быстро решить, добавив в исключения порт слушаемый сервером MySQL (или просто отключив брандмауэр на некоторое время), то вот проблему со старым паролем MySQL стоит рассмотреть подробнее.
Настройка MySQL
Чтобы внесенные в конфигурационный файл изменения вступили в силу, необходимо остановить и вновь запустить сервер MySQL. Как это сделать, можно узнать ниже.
Смена типа таблиц по умолчанию: Innodb на MyISAM
SQL режимы (SQL mod)
Остановка и запуск сервера MySQL
Portable MySQL 5.7 в Windows
Назначение портативной установки MySQL 5.7 в Windows
Основные преимущества такого варианта инсталляции MySQL сервера могут быть в следующем:
В этой статье все описания и примеры представлены для версии MySQL Community Server 5.7.13, но все это будет так же подходить и для более новых версий MySQL. Однако могут быть нюансы, поэтому, если что либо не будет получаться, то пишите в комментариях и читайте официальную документацию MySQL.
Скачивание дистрибутивов MySQL 5.7 и Workbench
Так же для работы MySQL 5.7 в Windows необходимо, что бы в системы были установлены следующие библиотеки:
Настройка MySQL
Настройка каталогов MySQL
Распакованный дистрибутив MySQL сервера по умолчанию будет иметь следующую структуру каталогов:
В дополнении к уже имеющимся каталогам нужно создать дополнительно в домашней директории MySQL сервера следующие каталоги:
Эти директории нужно создать самостоятельно вручную, т.к. 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» директория.
Инициализация и переинициализация 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 запуститься именно в текущей папке. Затем в командной строке наберите команду:
Результатом вышеописанной команды будет инициализация MySQL сервера и создание пользователя root с первичным паролем. В командной строке вы уведите все сообщения, выданные MySQL сервером в процессе его инициализации, которые будут выглядеть примерно следующим образом:
Как видно из примера в процессе инициализации был создан пользователь root@localhost с паролем Zqw6vMfxw. В MySQL 5.7 теперь пользователю root присваивается пароль при инициализации, раньше в предыдущих версиях пароль был пустой. Этот пароль нужно записать, для того что бы иметь возможность подключиться в MySQL в последствии. Так же в процессе инициализации в паке /data будут созданы файлы базы данных и служебных таблиц:
В папке /logs будут созданы указанные вами в файле my.ini лог файлы:
Запуск MySQL сервера
После инициализации можно уже выполнить запуск MySQL сервера, для чего наберите в командой строке:
В результате выполнения этой команды MySQL сервер будет запущен и в консоли будут выведены примерно следующие сообщения от mysqld.
Примерный лог при запуске MySQL сервера:
Пояснения для некоторых предупреждений [Warning] из log файла при запуске MySQL:
Подключение к MySQL из Workbench
Для настройки и администрирования MySQL сервера удобно пользоваться программой MySQL Workbench. Желательно использовать последнею актуальную версию Workbench, которая поддерживает данный релиз MySQL 5.7, потому что при использовании старых SQL менеджеров, не поддерживающих новую версию MySQL 5.7 можно повредить системные таблицы, например, при редактировании пользователей с помощью интерфейса устаревшего SQL менеджера.
Если сервер успешно запустился и нет критических ошибок, то можно выполнить подключение к нему из программы MySQL Workbench. Для этого запустите программу Workbench и сдайте новое подключение к MySQL серверу, в параметрах которого укажите следующее:
Теперь, созданное подключение нужно сохранить, нажав 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 запрос вида:
Теперь можно приступать к смене пароля. Для этого убедитесь, что процесс mysqld.exe не запущен в настоящий момент. Если это не так, то завершите в диспетчере задач Windows процесс mysqld.exe т.к. завершить его из командной строки при неизвестном пароле root пользователя не удастся. Затем откройте окно команд в папке /bin и выполните команду:
где в параметре —init-file укажите путь к файлу с SQL запросом на смену пароля. В примере это Z:/mysql/mysql-init.txt файл.
Выполнение этой команды приведет к запуску MySQL сервера и к смене пароля указанного пользователя. Если все прошло успешно, то вы увидите в диспетчере задач запущенный процесс mysqld.exe и сможете подключиться к MySQL серверу под данным пользователем с новым паролем. Если при выполнении этой команды cmd зависает, ее окно нужно закрыть. После смены пароля файл mysql-init.txt можно удалить. Если при смене пароля допустили ошибки и пароль не сменился, и подключиться не получается, то нужно все сделать заново. Остановить сервер в диспетчере задач, выбрав завершение процесса, проверить файл и SQL запрос на смену пароля в нем и попробовать снова.
Для удобства запуска и остановки вашего portable MySQL сервера можно в его домашнем каталоге создать два .bat файла командной строки. Например, start.bat и stop.bat, в которые записать команды запуска и остановки MySQL. Таким образом вы сможете запускать и останавливать ваш MySQL сервер простым кликом по соответствующему файлу, что удобно т.к. не нужно открывать cmd и набирать команду руками.
Настройки Windows для MySQL
Также можно настроить запуск и остановку MySQL как системной службы, для чего выполните в cmd следующие необходимые вам команды:
Установка MySQL как службы с авто запуском:
Установка MySQL как службы с ручным запуском:
Удаление MySQL службы:
Команды MySQL в cmd Windows
Запуск MySQL сервера:
Вход к консоль mysql при наличии пароля:
Начало строки вида mysql>. означает, что вы в данный момент находитесь в консоли MySQL сервера и здесь можно писать SQL запросы.
Выйти из консоли MySQL:
Показать имена имеющихся баз данных:
Показать имена таблиц базы данных mysql (служебная база данных MySQL)
Остановка в cmd запущенного MySQL сервера:
Остановка в cmd запущенного MySQL сервера если root не имеет пароля:
Подключение MySQL к PHP
Если Вам понравился данный материал, поделитесь им с вашими друзьями в соц сетях
В предыдущих материалах были описаны установка и запуск локального веб-сервер Apache на ОС Microsoft Windows 7, а так же, к веб-серверу был подключен модуль языка программирования PHP.
Теперь, для полноценной разработки динамичных сайтов на своем локальном вер-сервере, нам необходимо установить СУБД (систему управления базами данных) MySQL. Как выбрать и где скачать необходимый для этого дистрибутив было описано в материале Что необходимо для установки веб-сервера?
Создание и настройка конфигурационного файла my.ini
Итак, имея в наличии архив с необходимой версией MySQL, создадим в корне локального диска «C:\» директорию «mysql», и распакуем в нее содержимое архива.
Перейдем в директорию «C:\mysql\» и найдем файл: «my-default.ini». Это файл — пример конфигурационного файла MySQL. Сделайте копию файла «my-default.ini» с именем «my.ini». В дальнейшем этот файл, будет основным конфигурационным файлом настройки MySQL.
Открываем в текстовом редакторе конфигурационный файл MySQL «C:\mysql\my.ini».
Найдем в конфигурационном файле директивы:
Раскомментируем их и пропишем им следующие значения:
Установка сервиса MySQL
Далее необходимо установить сервис MySQL как службу. Для этого нам понадобится командная строка (Командная строка должна быть запущена от имени администратора). Ранее, в материале Установка Apache 2.4, с ее помощью мы устанавливали службу Apache.
Открываем командную строку от имени администратора.
Теперь необходимо перейти в директорию СУБД MySQL «C:\mysql\bin» где находится файл «mysqld.exe». Для этого используем команду «cd» и указываем полный путь до данной директории.
Для того, что бы установить сервис MySQL как службу, необходимо выполнить команду
или устанавливаем службу указав ей собственное имя, а не использовать имя службы по умолчанию
При удачном выполнение установки получаем примерно такой ответ:
Перевод:
Сервис (служба) успешно установлен.
Управление службой MySQL
После установки сервиса MySQL нам необходимо уметь управлять его запуском и остановкой.
Для этого, по аналогии с управлением службой Apache, Вы можете использовать окно списка служб («Пуск» → пункт «Панель управления» → «Администрирование» → «Службы») или командную строку.
Рассмотрим команды управления службой MySQL, через командную строку.
Управлять службой MySQL, как впрочем и всеми другими службами в ОС Windows, можно используя в командной строке команду «net». Рассмотрим несколько примеров.
получаем список служб
Работа в командной строке mysql
Для запуска консоли mysql необходимо перейти в директорию «C:\mysql\bin» где находится файл «mysql.exe». Для этого используем команду «cd» и указываем полный путь до директории где находится файл «mysql.exe».
запускаем консоль mysql
если подключение прошло без ошибок, вы увидите приглашение командной строки
Сразу же сообщаю Вам, что все sql-команды которые вводятся в командной строке, должны завершаться «;» или «\g»
Теперь давайте посмотрим как работать в консоли mysql, для этого выполним ряд стандартных команд.
выведем информацию о mysql
выводим список баз данных, к которым пользователь имеет доступ
в первой строке вводим команду «show databases», ставим точка с запятой (это говорит серверу, что команда закончена) и нажимаем Enter
получаем список баз данных
выбираем базу данных для работы
В первой строке выбираем базу данных для работы c именем «mysql» и нажимаем Enter
Во второй строке получаем сообщение, что база данных выбрана
выводим список таблиц выбранной базы данных
в первой строке вводим команду «show tables», ставим точка с запятой и нажимаем Enter
получаем список таблиц
выйти из сеанса работы
Настраиваем и проверяем взаимодействие PHP и MySQL
После успешной установки и запуска службы MySQL, нам необходимо проверить взаимодействие PHP с MySQL.
В пункте «Работа с конфигурационным файлом php.ini» материала Подключение PHP к Apache нами был рассмотрен пример подключения динамически загружаемых расширений. Для дальней работой с MySQL в конфигурационном файле php «C:\php\php.ini» необходимо подключить следующие расширения (после подключения расширений необходимо перезагрузить веб-сервер):
в файле php.ini найдем блок Dynamic Extensions (Динамические Расширения)
раскомментируем необходимые расширения
Считаю важным отметить, что необходимо понимать в чем отличие расширений php_mysql.dll от php_mysqli.dll, для этого приведу немного теории.
Что такое расширение php_mysql
Это оригинальное расширение позволяет разрабатывать PHP приложения, которые могут взаимодействовать с базой данных MySQL. Расширение mysql предоставляет процедурный интерфейс и предназначено для использования с MySQL версии 4.1.3 или более ранними версиями.
Что такое расширение php_mysqli
Расширение mysqli, или как его еще называют улучшенное (improved) MySQL расширение, было разработано, чтобы дать возможность программистам в полной мере воспользоваться функционалом MySQL сервера версий 4.1.3 и выше. Расширение mysqli включается в поставку PHP версий 5 и выше.
Для получения более подробной информации перейдите по ссылке http://php.net/mysqli
После небольшой теории, давайте перейдем к практике, проверим взаимодействие PHP с MySQL. Для этого создаем в корневой директории управления сайтами «C:\Apache24\htdocs\» файл c именем «db.php», открываем его в текстовом редакторе и добавим по очереди несколько примеров кода указанных ниже:
Пример процедурного стиля mysqli
Пример процедурного стиля mysql
Сохраняем файл и открываем в браузере страницу http://localhost/db.php.
По итогам изучения данного материала мы рассмотрели процесс установки СУБД (системы управления базами данных) MySQL.