Урок 7: Установка и настройка MySQL

Замечания

Версия программы, использовавшейся при написании материала, уже успела устареть, поэтому некоторые моменты могут незначительно отличаться.

Довольно типичным ядром веб-сервера является связка Apache + PHP + MySQL. Этот тандем позволяет обслуживать большинство готовых движков и CMS, таких как Joomla, Wordpress, Drupal и так далее. Данный урок поможет вам установить сервер баз данных MySQL и настроить PHP для работы с ним. Итак, я предполагаю, что у вас уже имеется в наличии настроенный соответствующим образом Apache и интерпретатор PHP, связанный с ним. Если это не так, то в путь:

Идем на страницу http://www.mysql.com/downloads/mysql/ и скачиваем соответствующую версию дистрибутива MySQL в виде MSI инсталлятора. В моем случае файл назывался mysql-5.5.15-win32.msi. Будет предложено ввести имя пользователя и пароль на сайте либо зарегистрироваться, но под формой можно заметить ссылку "No thanks, just take me to the downloads!", жмем ее.

В процессе установки выбираем типичную комплектацию, после завершения процесса запустится мастер настройки. Выбираем стандартную конфигурацию:

На следующем шаге производим настройку согласно снимку ниже.

Далее необходимо ввести пароль суперпользователя root. Обязательно запомните этот пароль. MySQL успешно установлен.

Настроим PHP для работы с нашим сервером MySQL. Откройте конфигурационный файл C:\php\php.ini и активируйте модуль для работы с MySQL. Для этого найдите строку

;extension=php_mysql.dll

и удалите двоеточие в начале. Также проверьте, указан ли путь к расширениям extension_dir. В статье по настройке PHP мы не активировали ни одного модуля, поэтому данную настройку не трогали. Она должна быть раскомментирована и иметь следующее значение:

extension_dir = "c:\php\ext"

Перезагружаем сервис Apache. Если все сделано правильно, в выводе функции phpinfo должен появиться соответствующий блок с информацией о модуле работы с MySQL:

Осталось проверить возможность соединения с сервером MySQL из-под PHP-скриптов. Создайте скрипт со следующим кодом:

<?php
  $link = mysql_connect('localhost', 'root', '<пароль_пользователя_root>');
  if (!$link) {
      die('Невозможно соединиться: ' . mysql_error());
  }
  echo 'Успешно соединено';
  mysql_close($link);
?>

Если при соединении возникла ошибка, скрипт выведет ее текст.

Комментарии

Оставить комментарий »

 
RoKFoR
17 декабря 2011, 8:32
#21
 

Начал с начала все уроки (до этого на 7, сейчас на ХР). Все получилось, только скрипт выдает квадратики.
В коде ошибки вроде нету.
Вот код

<?php
  $link = mysql_connect('localhost', 'root', 'tagota777');
  if (!$link) {
      die('Невозможно соединиться: ' . mysql_error());
  }
  echo 'Успешно соединено';
  mysql_close($link);
?>
RoKFoR
17 декабря 2011, 11:51
#22
 

Все получилось!! Только вот выдает вместо успешно соеденено квадратики. Щас пытаюсь прикрепить базу данных к сайту!! Пока что то не понимаю как... Спасибо за уроки!!

Joker-jar
17 декабря 2011, 12:22
#23
 

RoKFoR, попробуйте в скрипте вместо 'Невозможно соединиться' написать 'not ok', а вместо 'Успешно соединено' - 'ok'. Что будет выдавать?

RoKFoR
17 декабря 2011, 12:32
#24
 

Все пишет ОК! Вот только почему по русски не выдавал текст я не понял. Пробовал менять кодировку в опере, в 3 разных браузерах выполнять скрипт, везде были квадратики!! Спасибо!!

RoKFoR
19 декабря 2011, 19:11
#25
 

Подскажите плиз, где нужно в настройках apache что то написать чтоб убрать квадратики???

Joker-jar
20 декабря 2011, 0:26
#26
 

Настройки, представленные на сайте, предполагают использование юникода. Проверьте следующее:

В конфиге Apache выставлена кодировка по умолчанию:

AddDefaultCharset UTF-8

В html-странице указан мета-тег с кодировкой:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    ...

HTML-файл сохранен в кодировке utf-8. Это уже зависит от редактора, в котором создаете файл (скорее всего, у вас файл сохранен не в той кодировке).

RoKFoR
20 декабря 2011, 13:32
#27
 

решил проблему вот этим:

mysql_set_charset("cp1251");
Иван
25 января 2012, 9:29
#28
 

Я ставил MySQL 6.0 и сначала у меня не выводилась инфа о MySQL в phpinfo, вы посоветовали кому то взять файл libmysql.dll из папки lib в корневом каталоге MySQL и скопировать его в php.
Так вот у меня почему то нет папки lib по адресу C:\Program Files\MySQL\MySQL Server 6.0\ и в php я ничего не копировал, тем не менее у меня сейчас всё работает, это нормально?))))
кстате у кого нет инфы про MySQL в phpinfo, посмотрите внимательнее, я думаю в первый раз я ее просто не заметил так как думал что она должна находиться в самом начале. а она оказалась в середине всей инфы)

Ann
25 января 2012, 23:29
#29
 
Fatal error: Call to undefined function mysql_connect() in C:\Program Files\Apache\htdocs\test-domain1\www\dd.php on line 2

Подскажите,что это значит? Что за ошибка?

Joker-jar
26 января 2012, 7:41
#30
 

Это значит, что PHP не загрузил модуль для работы с MySQL. Загляните в системный журнал, а также проверьте настройки PHP.

Оставить комментарий

Ваше имя
 
Ваш e-mail
 
Комментарий