Ручная установка MySQL сервера в ОС Windows

mysql_logo Прежде чем приступить к ручной установке сервера 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 как нам нравится.

Если у кого остались вопросы, пишите в каменты...

Ссылки по теме:

Об авторе
АдМинь БагоИскатель
АдМинь БагоИскатель ярый борец за безглючную работу любых механизмов и организмов во всей вселенной и потому пребывает в вечном поиске всяческих багов, а тот кто ищет как известно всегда находит. Когда что-то или кого-то вылечить не в состоянии, то со словами "Я в аду, а вы все черти" уходит в запой выйдя из которого снова берётся лечить неизлечимое.
Ещё статьи автора

Комментарии   

Олег Головский
0 #2 Олег Головский 15.01.2015 23:54
Цитирую Guest:
explicit_defaults_for_timestamp = 1 вот так подавляется это сообщение

Да, но про это ж уже упоминалось в начале самой статьи:
Цитата:
Предупреждение "TIMESTAMP with implicit DEFAULT value is deprecated." можно погасить добавлением "explicit_defaults_for_timestamp = TRUE" в my.ini, но сервер Mysql версии 5.6 в Windows XP всё равно не будет работать!
Цитировать
Guest
0 #1 Guest 15.01.2015 20:27
explicit_defaul ts_for_timestam p = 1 вот так подавляется это сообщение
Цитировать

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


Защитный код
Обновить

no-script
[ Подробнее... ]
27 megabytes