Установка MySQL

Автор статьи: Котеров Д.В. ©
Сайт Автора: нет
E-mail Автора: нет
Дата публикации: 19.02.2006

Сначала определимся: зачем же вообще нужны базы данных Web-программисту. Неужели не проще использовать обычный обмен с файлами. Ведь обычно объем данных не очень велик (если вы только не пишите поисковую систему). Наш личный опыт таков: оказывается, стоит затратить какое-то время на изучение MySQL — это удивительно мощный инструмент, который сэкономит в будущем немало часов, потраченных на отладку "вышедшего из-под контроля" сценария.

Итак, вы решили установить у себя на локальном хосте поддержку MySQL. Это довольно несложно. Что ж, приступим.

1.Для начала загрузите с официального сайта MySQL (http://www.mysql.com, раздел Downloads) дистрибутив MySQL. Рекомендую выбрать самую последнюю версию для Windows. Дистрибутив представляет собой zip-архив, который нужно развернуть в любой удобный вам каталог.

2.Запустите setup.exeиз только что разархивированного дистрибутива. Нажмите кнопку Next.

3.В появившемся информационном окне снова нажмите Next. Откроется диалог с запросом о выборе каталога для MySQL. По умолчанию предлагается C:mysql, но, мне кажется, будет удобнее использовать C:Program FilesMySQL. Задайте этот каталог и нажмите Next.

4.Выберите тип установки Typical. Начнется копирование файлов MySQL. Дождитесь его окончания. MySQL установлена.

5.Для того чтобы активизировать MySQL-сервер, запустите исполняемый файл C:Program FilesMySQL inmysqld.exe. Можете создать для него ярлык, однако, поскольку обычно MySQL работает "в связке" с Apache, будет логично создать командный файл, который будет стартовать и Apache, и MySQL. Назовем его server.batи расположим в корневом каталоге диска z:. Вот содержание этого файла:

Листинг 5.2. Файл server.bat


@echo off
"C:Program FilesMySQLinmysqld"
start /m "C:Program FilesApache GroupApacheApache"


Для операционных систем Windows NT и Widows 2000, однако, будет удобнее использовать несколько другие команды (иначе в этих системах окно процесса MySQL будет постоянно видно на экране, что нежелательно):


@echo off
start C:Progra~1MySQLinmysqld-nt --standalone
C:Progra~1Apache~1ApacheApache -k start


Именно для приведенного командного файла лучше всего и создать ярлык, назначив ему "горячую" клавишу <Ctrl>+<Alt>+<A> (только если вы до этого связали ту же комбинацию с ярлыком Apache, не забудьте ее там отключить).

6.Перед выключением или перезагрузкой компьютера нужно завершать работу Apache и MySQL. Для этого удобнее всего создать следующий bat-файл с именем, например, shutdown.bat, расположив его в корневом каталоге диска z:

Листинг 5.3. Файл shutdown.bat


@echo off
"C:Program FilesApache GroupApacheApache" -k shutdown
"C:Program FilesMySQLinmysqladmin" -u root shutdown


Удобно также определить для этого файла ярлык и назначить ему комбинацию клавиш <Ctrl>+<Alt>+<S>.

Тестирование MySQL

Давайте теперь проверим, все ли работает. Для начала запустите наш файл server.bat, чтобы активизировать сервер. Создайте следующий PHP-сценарий с именем mysql.phpв каталоге z:homelocalhostwww

Листинг 5.4. Файл mysql.php


<?
define("DBName","test");
define("HostName","localhost");
define("UserName","root");
define("Password","");
if(!mysql_connect(HostName,UserName,Password))
{
echo "Не могу соединиться с базой ".DBName."!<br>";
echo mysql_error();
exit;
}
mysql_select_db(DBName);
// Создаем таблицу t. Если такая таблица уже есть,
// сообщение об ошибке будет подавлено.
@mysql_query("create table t(id int, a text)");
// Вставляем в таблицу1 0 записей
for($i=0; $i<10; $i++)
{
$id=time();
mysql_query("insert into t(id, a) values($id, ′No.$i!′)");
}
$r=mysql_query("select * from t");
for($i=0; $i<mysql_num_rows($r); $i++)
{
$f=mysql_fetch_array($r);
echo "$f[id] -> $f[a]<br> ";
}
?>


Теперь наберите в браузере:

http://localhost/mysql.php

Если все сконфигурировано правильно, вы должны получить несколько строк вывода в браузере без сообщений об ошибках. При каждом запуске в таблицу tдобавляются новые строки, так что с каждым нажатием кнопки Обновить в браузере объем таблицы будет все увеличиваться.

Обращаю ваше внимание на константы DBName, HostName, UserNameи Password. DBNameдолжен содержать имя базы данных (в нашем случае это test— база данных, которая создается MySQL по умолчанию). HostName— всегда localhost, ведь мы работаем на локальном компьютере. В макросе UserNameпроще всего подставлять root, который является владельцем всех таблиц. При установке MySQL пользователю rootне назначается пароль, так что константа Password равна пустой строке