Когда автоматическая установка дает сбой, на помощь приходит ручной режим.
Приступаем к установке:
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. Выделяем эту строку и нажимаем «Изменить…». В конце строки дописываем свой путь, сохраняя существующие параметры:
Обратите внимание, что пути разделяются точкой с запятой. Убедитесь, что в начале и в конце вашего пути точка с запятой поставлена.
5. Перед тем как осуществить пробный пуск, открываем входящий порт TCP 3306 в брандмауэре Windows:
Если в системе установлен дополнительный брандмауэр, то в нем также необходимо открыть порт 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-запроса ОБЯЗАТЕЛЬНА!
Ответ команды:
Теперь мы окончательно убеждены, что сервер работает.
7. Переходим к следующему этапу — необходимо установить пароль администратора MySQL (пользователь root). По умолчанию пароль не установлен, и это надо исправить. В том же окне MySQL вводим следующие команды:
use mysql UPDATE user SET password = PASSWORD('ваш_пароль') WHERE user = 'root';
Проверяем результат:
SELECT user, host, password FROM user;
Ответ:
Как видно на скриншоте колонка 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:
Или проще через командную строку:
net start mysql
Для удаления службы, предварительно ее останавливаем:
net stop mysql
и выполняем:
"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --remove
Статьи по теме:
61 ответ к “Ручная установка MySQL на Windows”
Здравствуйте.
Пожалуйста ответьте можно ли установить MySql без прав локального администратора?
С Уважением. Олег.
Я думаю можно, но запустить как службу не получится!
Запуск программы, открывающей порт для входящих соединений требует прав администратора, либо специальных настроек, которые тоже требуют прав администратора.
Так что в общем случае — нельзя.
Добрый день!
ЗАСТРЯЛА НА п.5: система не видит MySQL.
значит, что-то было неверно прописано в переменную path в пункте 4. либо не перезапущена консолька после этого
Ошибка
[ERROR] Fatal error: Can’t open and lock privilege tables: Table ‘mysql.user’ doesn’t exist
[ERROR] Aborting
Как это исправить?
если в ini прописать skip grant tables, то ошибка пропадает mysql запускается, но я так понял никакие БД не создаются и в show databases не появляется весь тот список, который приведен у вас.
Table ‘mysql.plugin’ doesn’t exist
[ERROR] Can’t open the mysql.plugin table. Please run mysql_upgrade to create it.
Еще одна ошибка
Подскажите, какой должен быть файл my.ini
Тот, который в примерах — не работает!
После ввода команды «mysql -u root» выдаёт ошибку «ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061)».
Обычно это означает, что mysqld.exe не запущен. Попробуйте запустить в консоли
mysqld —console
и, не закрывая эту консоль, в другой
mysql -u root
Либо mysqld выведет в консоль ошибки, либо все будет работать.
Ввожу пароль через команду
UPDATE user SET password = ‘1234’ WHERE user = ‘root’;
Проверяю таблицу
SELECT user, host, password FROM user;
Поле с паролем в виде хеша, содержит не хеш, а то что вводил 1234.
После выхода войти не могу.
Почему пароль занёсся, как есть, а не хешем? Не верный вариант ввода?
Как сбросить пароль?
Ну Семен Семенович!… Надо было вводить:
Функцию PASSWORD забыли!!!
Я думал, что PASSWORD это просто слово означающее пароль, т.е. вместо него ввести пароль. А в скобках приведён пример, что вводить в кавычках.
Блин. Теперь его надо сбросить.
Скинул пароль, ввёл заново, заработало.
в пункте 8, при попытке запуска установленной службы через командную строку выдает ошибку: net не является внутренней или внешней командой, исполняемой программой или пакетным файлом. подскажите что делать плиз.
P.S. писал в командной строке, запущенной от админа.
Проверьте, что у вас в системе присутствует файл C:\Windows\System32\net.exe и что папка system32 добавлена в переменную окружения PATH или используйте список служб из панели управления.
Иван Рибинин, да, вы правы на счет конфига, но всё заработало с первого раза! Автору стати большое спасибо.
Всё работает.
Естественно, my.ini пришлось существенно дописать.
Вы б его сразу полностью выкладывали, а не «фрагмент конфигурационного файла».
Все равно Спасибо!
Последнее время я использую Valentina Studio для работы с MySQL. Очень хороший и бесплатный инструмент, рекомендую посмотреть.http://www.valentina-db.com/en/valentina-studio-overview