Прежде чем приступить к ручной установке сервера MySQL, нужно выяснить версию ОС и выбрать соответствующую версию MySQL Community Server ибо не все версии MySQLd могут быть установлены на любую версию Windows.
Например Mysql версии 5.6 неработает в Windows XP, а вернее работает, но не совсем корректно, - после запуска не открывает порт (3306 по-умолчанию) и при запуске может в консоль сыпать сообщениями об ошибках! Например:
mysqld.exe --defaults-file="..\my.ini" 2014-05-06 12:02:46 0 [Warning] TIMESTAMP with implicit DEFAULT value is depreca ted. Please use --explicit_defaults_for_timestamp server option (see documentati on for more details).
Предупреждение TIMESTAMP with implicit DEFAULT value is deprecated.
можно погасить добавлением "explicit_defaults_for_timestamp = TRUE" в my.ini, но сервер Mysql версии 5.6 в Windows XP всё равно не будет работать!
Значит сначала идём сюда MySQL :: Supported Platforms: MySQL Database, где выбираем подходящую для нашей ОС версию и скачиваем её MySQL :: Download MySQL Community Server
Так как нас интересует именно ручная, а не автоматическая, установка MySQL сервера в Windows, то загружаем мы не Windows (x86, 32-bit), MSI Installer
, а Windows (x86, 32-bit), ZIP Archive
, - в нашем случае это mysql-5.5.37-win32.zip
При попытке загрузить нас перекинет на страницу с предложением войти или пройти регистрацию, но мы неведёмся и в самом низу страницы жмём на ссыль No thanks, just start my download.
, - т.е. "нет спасибо, просто дайте мне загрузить", прямая ссыль: http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.37-win32.zip
Загрузили? Ок, теперь распакуйте куда желаете. Распаковали? Теперь скопируйте my-small.ini в my.ini, откройте консоль (ака cmd) войдите в каталог .\bin и выполните:
mysqld.exe --defaults-file="..\my.ini"
После запуска mysqld.exe должен будет потреблять не более 30 МБ, а если рамы в наличии много, то можно воспользоваться иными конфиг файлами, - ну, например my-medium.ini или my-large.ini
А чтобы консоль не занимала лишнее пространство на панели задач, то сервер можно запускать через, нет не через жо..;)), через батник start.bat:
cd bin start /MIN mysqld.exe --defaults-file="..\my.ini"
Сервер уже запущен? Теперь скачаем phpMyAdmin и распакуем его в корень каталога с веб-сервером апача, - в нашем случае это "W:\phpMyAdmin". В httpd.conf добавим алиас (mod_alias - Apache HTTP Server), чтобы phpMyAdmin был доступен из любого локального (.loc) виртуального хоста, например http://mylocal1.loc/phpmyadmin или http://mylocal2.loc/phpmyadmin, а не только из-под локалхоста:
Alias /phpmyadmin/ "W:/phpMyAdmin/" <Directory "W:\phpMyAdmin"> Options ExecCGI AllowOverride All Order allow,deny Allow from all </Directory>
Параматр ExecCGI нужен потому, что PHP мы юзаем как FastCGI, если PHP работает как модулю, то "Options ExecCGI" можно удалить.
Теперь нужно установить пароль для пользователя 'root': mysqladmin -u root password 'наш_пароль'
Хотя если сервер наш то локальный и доступ к нему извне запрещён, то 'root'-овский пароль мы можем и не устанавливать, а просто скопировать config.sample.inc.php в config.inc.php и довести секцию "Authentication type" до такой вот кондиции:
/* Authentication type */ //$cfg['Servers'][$i]['auth_type'] = 'cookie'; $cfg['Servers'][$i]['auth_type'] = 'config'; /* Server parameters */ $cfg['Servers'][$i]['host'] = 'localhost'; $cfg['Servers'][$i]['connect_type'] = 'tcp'; $cfg['Servers'][$i]['compress'] = false; /* Select mysql if your server does not have mysqli */ $cfg['Servers'][$i]['extension'] = 'mysqli'; //$cfg['Servers'][$i]['AllowNoPassword'] = false; $cfg['Servers'][$i]['AllowNoPassword'] = true;
В таком случае мы всегда будем получать доступ к БД через phpMyAdmin без необходимости ввода логина и пароля, - именно такой подход я более предпочитаю на локальном сервере.
Все, теперь осталось насоздавать пользователей с базами данных и юзать наш локальный сервер MySQL в ОС Windows как нам нравится.
Если у кого остались вопросы, пишите в каменты...
Ссылки по теме:
- MySQL :: MySQL 5.5 Reference Manual :: 2.3 Installing MySQL on Microsoft Windows
- Auth types - PmaWiki

