УстановкаУстановить и настроить MySQL. Какую версию MySQL выбрать? Я буду использовать MySQL 5.x, а именно 5.0.18. Приступаем к установке. Ставить будем - как положено, при помощи пакета Windows Installer. Для этого качаем с сайта MySQL соответствующий архив (для моего случая - mysql-5.0.18-win32.zip), распаковываем, и запускаем находящийся там файл setup.exe. Останавливаемся, как всегда на следующем окошке: Мы с вами люди продвинутые, поэтому вбираем выборочную установку, как показано на рисунке. Попадаем на выбор компонентов: Я обычно меняю путь установки, Компоненты оставляю по умолчанию, за исключением того, что ставлю Benchmark Suite - набор утилит для тестирования производительности базы. Отмечу, что он требует установленного в системе Perl. У меня он есть. Все! Жмем Next и ждем, пока установщик закончит работу. После копирования всего, чего нужно, инсталлятор предложит вам создать аккаунт на MySQL.com. Этот шаг смело можете пропустить. Галочку НЕ снимайте и нажимайте Finish. Теперь самое интересное :: Далее - читать не придется, в основном придется смотреть картинки. Согласитесь, это много приятнее. Итак: НастройкаНажимаем Next, после чего нам предложат выбрать тип настройки. От предложения использовать стандартную конфигурацию мы откажемся, и выберем конфигурацию подробную - "Detailed Configuration" Появится следующее окно: Тут нам предлагают определиться с типом сервера. От этого будет зависеть использование сервером MySQL ресурсов машины. На выбор дается три варианта:
Я использую вариант Server Machine, поскольку девелопером не являюсь. При имеющихся ресурсах все работает отлично. Следующее окно предлагает нам выбрать тип хранилища базы:
Что выбрать - ваше дело. Преимущества транзакционных таблиц InnoDB:
Преимущества нетранзакционных таблиц MyISAM:
Так что отталкивайтесь от задач. Для разработчика, на мой взгляд, лучшим будет первый вариант. При выборе вариантов 1 и 2, вам предложат выбрать расположение табличных пространств InnoDB Выбираем, жмем Next. Теперь будем выбирать, на какую загрузку мы рассчитываем: Я, не мудрствуя лукаво, выбираю вариант номер 1 - Decision Support (DSS)/OLAP - ок. 20 одновременных подключений. Вариант Online Transaction Processing (OLTP) рассчитан на базы, которые обслуживают более 500 активных подключений. Вариант Manual Setting - позволяет выбрать число потенциальных конкурирующих подключений вручную. Следующее окно позволяет определить - хотим ли мы, чтобы наша база была доступна по сети и какой порт будет прослушивать сервер. Тут - на ваше усмотрение. В принципе, если Web сервер расположен на той же машине, можно и отключить галочку. Локальные взаимодействия идут через именованные каналы. Внимание!!! Этап очень важный. Определение кодировки символов, которую MySQL будет использовать в таблицах по умолчанию. Выбирайте ее здесь, чтобы потом не мучится с ручной настройкой через утилиты командной строки. Опытным пользователям ручная настройка проблем не создаст, однако если есть возможность сделать проще, почему бы ею не воспользоваться? В общем случае - достаточно выставить все параметры так, как показано на рисунке ниже: Следующее окно (потерпите, осталось совсем немного): Тут все понятно - ставить ли MySQL как службу, выбор имени службы (оставляем по умолчанию), автоматический либо ручной запуск службы ( на ваше усмотрение). Я также устанавливаю галочку Include Bin Directory In Windows PATH для того, чтобы удобнее было работать в FAR с утилитами командной строки MySQL. Что касается установки в качестве службы - все что мы говорили про Apache применимо и здесь. В том числе - и смена пользователя, от имени которого выполняется служба MySQL. Следующий шаг - настройка безопасности Здесь мы устанавливаем пароль пользователя root (не забудьте его : ), можем разрешить (лучше не надо) доступ пользователя root с удаленной машины. Так же можем создать анонимный аккаунт, хотя нам этого делать не рекомендуют. Ну мы и не будем. ВСЕ! Жмем Next, в следующем окне - Execute: и мы получаем настроенный MySQL сервер. mysqladmin --pipe -uroot -p version status proc и вводим по запросу пароль. Отмечу одну тонкость. Если вы делали все в точности как я, вам придется использовать еще одну опцию при запуске утилиты mysqladmin, а именно - опцию --pipe. Дело в том, что по умолчанию MySQL использует TCP/IP, а мы, если помните, его отключили, поскольку используем MySQL исключительно локально. Поэтому при подключении к базе нам надо явно, опцией --pipe, указать, что мы используем именованные каналы, следующим образом: mysqladmin --pipe -uroot -p version status proc Мы должны получить нечто следующее: C:\Documents and Settings\Asus>mysqladmin -uroot -p version status proc Enter password: ******* mysqladmin Ver 8.41 Distrib 5.0.18, for Win32 on ia32 Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license Server version 5.0.18-nt Protocol version 10 Connection localhost via TCP/IP TCP port 3306 Uptime: 24 sec Threads: 1 Questions: 1 Slow queries: 0 Opens: 0 Flush tables: 1 Open table s: 6 Queries per second avg: 0.042 Uptime: 24 Threads: 1 Questions: 1 Slow queries: 0 Opens: 0 Flush tables: 1 Open tables: 6 Queries per second avg: 0.042 +----+------+----------------+----+---------+------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+----------------+----+---------+------+-------+------------------+ | 1 | root | localhost:1222 | | Query | 0 | | show processlist | +----+------+----------------+----+---------+------+-------+------------------+
Можно напрямую добавить точно такую же информацию о пользователе при помощи оператора INSERT, а затем дать серверу команду перезагрузить таблицы назначения привилегий: shell> mysql --user=root mysql mysql> INSERT INTO user VALUES('localhost','monty',PASSWORD('some_pass'), -> 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'); mysql> INSERT INTO user VALUES('%','monty',PASSWORD('some_pass'), -> 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'); mysql> INSERT INTO user SET Host='localhost',User='admin', -> Reload_priv='Y', Process_priv='Y'; mysql> INSERT INTO user (Host,User,Password) -> VALUES('localhost','dummy',''); mysql> FLUSH PRIVILEGES; Далее я создаю суперпользователя lik и БД,где будет расположен пример(хотя это можно сделать только что созданым пользователем) |