Рубрики
Веб-мастеринг

Ручная установка MySQL на Windows

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

Приступаем к установке:

1. Качаем zip-архив MySQL со страницы загрузки: http://www.mysql.com/downloads/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. Создаем папку установки. Например C:\Program Files\MySQL\MySQL Server 5.5. И распаковываем в нее содержание архива таким образом, чтобы папки 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).

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

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

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

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

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

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

# The MySQL server
[mysqld]
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
InnoDB_sort_buffer_size = 8M

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

Меняем PATH
Меняем PATH

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

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

Открываем порт TCP 3306
Открываем порт TCP 3306

Если в системе установлен дополнительный брандмауэр, то в нем также необходимо открыть порт 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-запроса ОБЯЗАТЕЛЬНА!

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

Командная строка MySQL
Командная строка MySQL

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

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

use mysql

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

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

SELECT user, host, password FROM user;

Ответ:

Таблица users
Таблица users

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

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

FLUSH PRIVILEGES;

и затем:

exit

Теперь при подключении необходимо вводить пароль. Для этого используем ключ -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:

Запуск службы MySQL
Запуск службы MySQL

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

net start mysql

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

net stop mysql

и выполняем:

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

Статьи по теме:

61 ответ к “Ручная установка MySQL на Windows”

Здравствуйте, а можно ли установить сразу 2 службы? И поочерёдно ими переключаться? Например один mysql установить на C диск C:/mysql/mysql5.1/, а второй на D диск D:/mysql/mysql4.2/ ? И создать две разные службы под разными названиями. у меня лично вышло The service already exists! the current server installed: «C……»

Можно.
Причем не обязательно устанавливать на разные диски.
Можно даже сделать так, чтобы обе версии одновременно работали (разнеся их по разным портам).
Только вот смысла не вижу…

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

Пропишите в статье, что после того как установили службу mysql необходимо перезапустить компьютер, а то она не запустится.

У меня в архиве есть только файл my-default.ini, а в нем всего две строки:
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
других файлов нет. Подскажите, где можно еще их поискать?

Действительно, из последних релизов их убрали.
Но они запросто ищутся гуглом в разных репозиториях и прочих гитхабах по названию файла.
Первая ссылка из гугла:
http://page.mi.fu-berlin.de/austurm/Leipzigoberftest/MySQL%20Server%205.1/
там есть
my-huge.ini 08-Apr-2010 17:22 4.8K
my-innodb-heavy-4G.ini 08-Apr-2010 17:22 20K
my-large.ini 08-Apr-2010 17:22 4.8K
my-medium.ini 08-Apr-2010 17:22 4.8K
my-small.ini 08-Apr-2010 17:22 2.4K
my-template.ini 12-Nov-2008 02:13 13K
my.ini 28-Apr-2010 12:25 8.7K

Помогите, пожалуйста, почему при вводе в командную строку:»C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld» —install выводиться Install/remove of service denied?

Скорее всего командная строка запущена в обычном режиме. А надо ее запускать от имени администратора (через правый клик).

Большое спасибо за четкую инструкцию.
За 15 минут установила себе сервер.

Привет!
Спасибо за статью. Грамотно, четко, полезно. Сразу заработало. Вот результат:
Apache/2.2.19 (Win32) PHP/5.4.0 Server at localhost Port 80; (mysql-5.5.22-win32.zip)
Устанавливается быстро, надо лишь следить за тем, чтобы не было ошибок в файлах my.ini, php.ini, httpd.conf и др. Для меня оказалось удобно первым устанавливать Apache/2.2.19 и после того, как он он правильно установился и служба запускалась без проблем, постепенно добавлять строки в файлы my.ini, php.ini.
Если служба не запускалась, сразу же было ясно после каких изменений она переставала работать. Можно сразу исправлять ошибку. По времени все установить грамотно при ручной сборке — полдня. Может кто-то и сможет за пять минут. Для этого нужны заготовки файлов, работающих в сборке, и правильно записанные команды на исполнение из командной строки.

Более подробно постараюсь изложить на будущем сайте. Всем удачи. Василий.

Помогите, ввожу в командную строку «mysqld —console» и она отвечает:
C:\Users\mr_Spy>mysqld —console
«mysqld» не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

Почему? И как это поправить?
Служба MySQL в Диспетчере Задач в Службах есть и она отключена, при попытке включить выдает, что файл не найден.
Я до этого пробовал установить MySQL в автоматическом режиме, но при включении окно настроек просто зависает, я удалял полностью и пробовал снова, тоже самое, потом снова полностью удалил и попробовал в ручном режиме и вот что из этого выходит.
Помогите пожалуйста.

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

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


Срок проверки reCAPTCHA истек. Перезагрузите страницу.