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

archive view archive save

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 как нам нравится.

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

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


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

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

АХТУНГ! Все комменты гостей модерасятся модерастом.
  1. Мессаги исключительно рекламного содержания, либо содержащие только одни оценочные суждения типа "круто" ("отлично", "спасибо", "автор дебил" и т.п.) не публикуются;
  2. Злостным спамерам, пранкерам и прочей сетевой нечисти рекомендуем напрасно не тратить своего времени и удовлетворять свои больные фантазии на специализированных Интернет ресурсах!;
  3. Разумная обоснованная критика, замечания, дополнения приветствуются. Поля помеченные символом * обязательны к заполнению.


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

Комментарии   

Олегатор
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_defaults_for_timestamp = 1 вот так подавляется это сообщение
Цитировать
Комментарии в блоге
Новое на форуме