Mysql my ini где находится

от admin

MySQL my.ini location

But I am still stuck with the ages old question! «Where is my my.ini» I am using windows server 2008 with mysql 5.5.28. I installed the service using mysqld —install and I am able to use the mysql server using sqlyog. But unfortunately I am not able to find my.ini in installation directory or not in c:\ neither in c:\windows nor in data_dir query show variables like «mysql_home» returned nothing as well.

16 Answers 16

my.ini LOCATION ON WINDOWS MYSQL 5.6 MSI (USING THE INSTALL WIZARD)

Open a Windows command shell and type: echo %PROGRAMDATA% . On Windows Vista this results in: C:\ProgramData .

According to http://dev.mysql.com/doc/refman/5.6/en/option-files.html, the first location MySQL will look under is in %PROGRAMDATA%\MySQL\MySQL Server 5.6\my.ini . In your Windows shell if you do ls «%PROGRAMDATA%\MySQL\MySQL Server 5.6\my.ini» , you will see that the file is there.

Unlike most suggestions you will find in Stackoverflow and around the web, putting the file in C:\Program Files\MySQL\MySQL Server 5.6\my.ini WILL NOT WORK. Neither will C:\Program Files (x86)\MySQL\MySQL Server 5.1 . The reason being quoted on the MySQL link posted above:

On Windows, MySQL programs read startup options from the following files, in the specified order (top items are used first).

1234ru / mysql-win.md

Скачиваем Community Server в виде zip-архива.
(Если пугают новшества последних версий, можно остановиться на 5.7. Например, 5.7.26-winx64.)
На странице загрузки можно перейти по ссылке No thanks, just start my download в нижней части страницы.

Удаляем папку lib (она содержит исходный код для самостоятельной компиляции и при работе сервера не требуется). Также можно удалить файлы bin/*.pdb (они нужны только для отладки исполняемых файлов MySQL и при обычной работе не требуются). Это позволит снизить общий размер инсталляции примерно в 4 раза, он станет порядка 200 Мб.

Добавляем в системную переменную PATH путь <каталог MySQL>\bin , чтобы было удобней запускать exe-файлы.

Выбор места для хранения данных и конфигурационный файл my.ini

Нужно выбрать каталог, где MySQL будет хранить файлы баз данных и некоторые служебные файлы. Рекомендуется это сделать вне каталога сервера MySQL, т.к. файлы БД следует рассматривать независимо от конкретной инсталляции/версии.

Затем нужно создать файл my.ini , поместив его в корневой каталог сервера MySQL (т.е. рядом с bin и пр.; my.ini в корневом каталоге запуска сервер будет пытаться найти и прочитать автоматически). Содержимое файла должно быть следующим:

Указание datadir является обязательным. Без этого сервер не запустится. Обратный слэш ( \ ), стандартно используемый в путях Windows, интерпретируется как экранирующий и образующий управляющие последовательности ( \n , \s и др.) символ, поэтому его самого нужно экранировать или же использовать вместо него прямой слэш:

Как правило, данные требуют хранения в кодировке UTF-8. Настройка character_set_server позволяет избежать явного указания кодировки при каждом случае создания базы данных или таблицы.

Если при запуске сервера возникают сообщения об ошибках насчет невомзожности записи в системный журнал событий Windows, можно добавить в my.ini запись log-syslog = 0 .

Все настройки сервера перечислены здесь и здесь.

Первый запуск mysqld — инициализация каталога данных

С версии 5.7 нужно проводить первичную инициализацию каталога данных, для чего при первом запуске служит специальный ключ:

Может возникнуть сообщение от брандмауэра Windows, которому нужно указать соотв. разрешения.

Инициализировав каталог данных, сервер завершит работу и вернёт управление командной строке.

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

Второй запуск mysqld — установка пароля пользвателю root

При первом запуске сервера для рута был сгенерирован временный пароль (действительный только на одну сессию) и записан в err-файл. Вместо того, чтобы искать его там, удобнее лишний раз запустить сервер в режиме без проверки прав:

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

Из командной строки запускаем консольный клиент mysql .

Даем команду FLUSH PRIVILLEGES; (она требуется после запуска сервера с ключом —skip-grant-tables , чтобы начали работать команды по управлению учетными записями).

MySQL 5.7.6 и выше: ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘somepass’;

5.7.5 и ранее: SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘somepass’);

Останавливаем сервер с помощью команды SHUTDOWN .
Сервер завершит работу и вернёт управление командной строке, из клиента нужно выйти вручную (продолжать сессию смысла нет, т.к. соединение разорвано и автоматически возобновлено не будет).
Остановка сервера необходима, чтобы прекратить работу в режиме отсутствия проверки прав доступа.

Для MySQL 5.7.8 и ранее следует использовать утилиту mysqladmin , дав из терминала команду mysqladmin -u root -p shutdown (потребуется ввести пароль рута).

Создание учетных записей, загрузка данных и дальнейшая работа

Теперь нужно создать учетные записи обычных пользователей и базы данных для них.

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

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

Упрощенный вариант: один пользователь (не root) с доступом ко всем базам — более подходящий вариант для локальной машины, за которой работает один человек и разделение прав доступа ни к чему. В таком случае первая команда выполняется только один раз.

Работа через named pipe

Сервер MySQL на компьютере разработчика обычно принимает соединения только с этого же компьютера. Такие соединения можно принимать через named pipe, а сетевой интерфейс сервера MySQL вообще закрыть за ненадобностью и по соображениям безопасности.

За включение named pipe и отключение сети отвечают две разных настройки (причем второе без первого не сработает). Запуск сервера с ними выглядит следующим образом:

Или указать эти же опции в my.ini , чтобы запускать сервер без аргументов:

В каталоге данных появится файл .pid .

Как PHP под Windows, так и различные GUI для работы с базами данных (например, MySQL Workbench, однако не(!) JetBrains DataGrip) умеют устанавливать соединение через named pipe.

Утилитам командной строки ( mysql , mysqladmin и пр.) нужно указывать опцию —pipe .

Настройки для клиента ( [client] )

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

В отличие от Linux, конфигурационный файл из домашнего каталога пользователя не читается. Список мест, откуда файлы будут прочитаны, можно посмотреть командой mysql —help (где-то в середине вывода будет фраза Default options are read from the following files in the given order). Можно указыать клиентские настройки в том же файле, что и настройки сервера:

Обновление сервера MySQL

Повторяем пункты 1-3 из раздела Загрузка и подготовка к запуску. Пакет можно разместить в каталоге рядом с имеющимся, чтобы на всякий случай было две версии одновременно.

Открываем командную строку и останавливаем текущую версию сервера: mysqld stop или mysqladmin -u root -pпароль shutdown

Заменяем путь в переменной PATH .

Копируем файл my.ini из старого каталога в новый.

Даём команду на запуск, не забыв необходимые ключи. Например, mysqld —skip-networking —named-pipe . Первый запуск может проходить долго.

Читать:
Можно ли играть на электрогитаре как на обычной

Если возникает ошибка про файл с названием вида VCRUNTIME*.dll — значит, нужно обновить версию Microsoft Visual Studio. Скачиваем файл vc_redist.x64.exe с официального сайта Microsoft и запускаем его. После этого повторяем предыдущий пункт, всё должно пройти нормально.

Если сервер все-таки не запускается (завершает работу и отдает управление в командной строке), нужно найти в файл с расширением *.err в каталоге для хранения данных и посмотреть, что там написано.
Один из вариантов решения проблемы — сначала запустить сервер с ключом —initialize , и после того, как он завершит работу, запустить его снова уже в штатном режиме.
*Замечено, что при обновлении с версии 5.7 при запуске над теми же данными (без перезаливки) сервер требует запуска два-три раза подряд, и только последний из них проходит успешно.

Выполняем запрос SELECT VERSION() , убеждаемся, что запущена обновлённая версия сервера.

Подключение 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.

MySQL – Locate the Configuration File – my.ini or my.cnf on Windows Platform

Since the release of my MySQL course on Performance Tuning and Optimization, I have received quite a few questions on MySQL. The top most questions which I have received is how to find my.ini or my.cnf file on Windows Platform. This is a fantastic question and I can understand the frustration of new users with MySQL about this one. There is plenty of information available online about this option, however, it is very difficult to identify which will work with your version of MySQL and your platform. In this blog post, I will show you how you can quickly figure out which my.ini file is powering the initial configuration of your MySQL Server.

Step 1: Type services.msc in the run menu.

MySQL - Locate the Configuration File - my.ini or my.cnf on Windows Platform myini1

Step 2: Find MySQL Service in Services section. The M ySQL services are usually named as MySQL56 . Right click on it and go to properties .

MySQL - Locate the Configuration File - my.ini or my.cnf on Windows Platform myini2

Step 3: Under General Tab in properties you can find the path of default file in the section Path to executable.

MySQL - Locate the Configuration File - my.ini or my.cnf on Windows Platform myini3

That is it. You can easily find what your MySQL service is using the default configuration file on Windows Platform.

Похожие статьи