Полная версия
MySQL 5.0. Библиотека программиста
Примечание
Атрибут A функционально зависит от группы атрибутов B, если значение атрибута A однозначно определяется набором значений группы атрибутов B, иными словами, в строках с одинаковым набором значений атрибутов группы B значение атрибута A также одинаково.
• Таблица находится в третьей нормальной форме, если она находится во второй нормальной форме и любой неключевой атрибут функционально зависит только от первичного ключа.
Например, в модели данных из п. 1 таблица, содержащая сведения о товарах, не находится в третьей нормальной форме, поскольку в ней имеется функциональная зависимость адреса склада от его названия. Таким образом, вам придется всякий раз при упоминании склада писать и его адрес, что приведет к многократному дублированию данных. Чтобы привести таблицу к третьей нормальной форме, все данные о складе нужно вынести в отдельную таблицу, которая будет родительской по отношению к таблице товаров.
Когда все таблицы базы данных приведены в третью нормальную форму, мы можем считать, что наша база данных нормализована, а информация о каждом факте хранится только в одном месте.
Итак, мы разработали логическую структуру базы данных, и можно переходить к созданию базы данных в СУБД MySQL. Если программа MySQL еще не установлена на вашем компьютере, из следующего раздела вы узнаете, как это сделать.
1.4. Установка и настройка MySQL
В этом разделе вы узнаете, как установить сервер MySQL и выполнить его начальную настройку. Начнем с нескольких советов по загрузке программы.
Загрузка MySQL
Как упоминалось ранее, дистрибутив MySQL можно бесплатно скачать с сайта компании-разработчика. Windows-версию MySQL вы найдете на веб-странице http://dev.mysql.com/downloads/mysql/5.0.html в одном следующих разделов:
• Windows downloads – здесь находятся ссылки на дистрибутивы MySQL для 32-разрядных операционных систем: Windows Vista/Server 2003/XP/Millennium Edition/2000/98/95;
• Windows x64 downloads – здесь располагаются ссылки на дистрибутивы MySQL для 64-разрядных операционных систем: Windows Vista x64/Server 2003 x64/ XP x64.
В каждом из этих разделов представлены три варианта дистрибутива:
• Essentials – базовый вариант без опциональных компонентов. Включает мастер настройки (Configuration Wizard);
• ZIP/Setup.EXE – полный вариант, включающий опциональные утилиты, документацию и др., а также мастер настройки;
• Without installer – полный вариант, который не включает мастер настройки и требует ручной установки и настройки.
Рекомендуется использовать первый или второй вариант. Возможностей, предоставляемых первым вариантом, в большинстве случаев достаточно. В этой книге будет описана настройка MySQL только с помощью мастера настройки.
Если вы предпочитаете работать в графическом интерфейсе, а не в командной строке, то можете также скачать пакет графических утилит MySQL GUI Tools (http://dev.mysql.com/downloads/gui-tools/5.0.html), включающий три программы:
• MySQL Administrator – инструмент администрирования, конфигурирования, мониторинга, запуска/остановки сервера MySQL, управления пользователями и соединениями;
• MySQL Query Browser – инструмент создания, выполнения и оптимизации запросов в графической среде;
• MySQL Migration Toolkit – инструмент для переноса данных в MySQL из других реляционных баз данных (Oracle, Microsoft SQL Server, Microsoft Access, Sybase и др.).
Примечание
В этой книге будет кратко рассказано, как пользоваться утилитами MySQL Administrator и MySQL Query Browser, а также описано выполнение операций с базой данных в командной строке.
Вы скачали необходимые дистрибутивы. Теперь приступим к установке СУБД MySQL 5.0.
Установка сервера MySQL
Чтобы установить на компьютере Windows-версию программы MySQL, выполните следующие действия.
1. Запустите мастер установки (Setup Wizard):
• если вы скачали базовый вариант дистрибутива MySQL, то дважды щелкните на значке файла mysql-essential-5.0.xxx-win32.msi.;
• если вы скачали полный вариант дистрибутива MySQL, то извлеките из архива файл Setup.exe и запустите его, дважды щелкнув на значке файла.
2. В начальном окне мастера установки (рис. 1.1) нажмите кнопку Next (Далее).
Рис. 1.1. Начальное окно мастера установки
3. Выберите тип установки (рис. 1.2):
• Typical (Обычная) – будут установлены только основные компоненты MySQL: сервер и утилиты командной строки;
• Complete (Полная) – будут установлены все компоненты MySQL, в том числе библиотеки и заголовочные файлы;
• Custom (Выборочная) – вы сможете указать путь к каталогу, в котором будет установлена программа MySQL, и выбрать компоненты, которые требуется установить.
Рис. 1.2. Выбор типа установки
Рекомендуется выбрать вариант Custom (Выборочная), иначе выбор каталога установки будет недоступен. Нажмите кнопку Next (Далее).
Если вы выбрали тип установки Typical (Обычная) или Complete (Полная), то следующий пункт пропустите.
Если вы выбрали тип установки Custom (Выборочная), то укажите параметры установки (рис. 1.3).
Рис. 1.3. Выбор параметров установки
• Если необходимо включить в установку или исключить из нее какой-либо компонент, найдите его в дереве компонентов, щелкните на значке слева от названия компонента и в контекстном меню выберите нужное действие (
– компонент будет установлен,
– компонент не будет установлен). Если вы пока не знаете точно, какие компоненты вам потребуются, рекомендую оставить набор компонентов неизменным.
• Если необходимо изменить каталог установки, нажмите кнопку Change (Изменить). В появившемся окне (рис. 1.4) введите путь к каталогу в поле Folder name (Имя каталога) либо в поле Look in (Смотреть в) и выберите из списка нужный диск, а затем последовательно раскройте вложенные папки, пока не дойдете до нужной. Нажмите кнопку OK.
Рис. 1.4. Выбор каталога установки
Завершив настройку параметров установки, нажмите кнопку Next (Далее).
4. Проверьте правильность выбранного типа и каталога установки (рис. 1.5). Если параметры необходимо изменить, нажмите кнопку Back (Назад). Если параметры указаны верно, для запуска установки нажмите кнопку Install (Установить).
Рис. 1.5. Подтверждение параметров
5. После окончания установки на экране появится информационное окно (рис. 1.6). В этом и последующих аналогичных окнах просто нажмите кнопку Next (Далее).
Рис. 1.6. Информационное окно
6. Укажите необходимость запуска мастера настройки, установив флажок Configure the MySQL Server now (Конфигурировать сервер MySQL сейчас). Нажмите кнопку Finish (Готово) (рис. 1.7).
Рис. 1.7. Завершение установки MySQL После установки необходимо выполнить настройку MySQL.
Настройка сервера MySQL
Для задания конфигурационных параметров сервера MySQL удобно использовать мастер настройки (Configuration Wizard). Он автоматически запускается, если вы установили флажок Configure the MySQL Server now (Конфигурировать сервер MySQL сейчас). Вы также можете запустить мастер настройки, нажав кнопку Пуск и выбрав последовательно пункты меню Все программы → MySQL → MySQL Server 5.0 → MySQL Server Instance Config Wizard.
Для настройки сервера MySQL с помощью мастера настройки выполните следующие действия.
1. В начальном окне мастера настройки (рис. 1.8) нажмите кнопку Next (Далее).
Рис. 1.8. Начальное окно мастера настройки
2. Выберите режим настройки сервера (рис. 1.9):
• Detailed Configuration (Настройка в подробном режиме) – этот вариант настройки ориентирован на опытных пользователей и предоставляет возможность выбрать конфигурацию сервера и указать множество конфигурационных параметров;
• Standard Configuration (Настройка в стандартном режиме) – этот вариант потребует от вас минимум усилий, поскольку большая часть параметров будет задана автоматически.
Рис. 1.9. Выбор режима настройки
Рекомендуется выбрать вариант Detailed Configuration (Настройка в подробном режиме), так как он позволит вам указать ряд важных параметров работы сервера.
Нажмите кнопку Next (Далее).
Если вы выбрали вариант Standard Configuration (Настройка в стандартном режиме), то пункты 3–8 пропустите.
3. Выберите конфигурацию MySQL, которая зависит от того, на каком компьютере будет функционировать программа (рис. 1.10):
• Developer Machine (Компьютер разработчика) – данная конфигурация подходит для персонального компьютера, где одновременно с MySQL будет запускаться множество других программ. Конфигурация требует минимального количества системных ресурсов (оперативной памяти, дискового пространства, загрузки процессора);
• Server Machine (Сервер) – данная конфигурация MySQL подходит для сервера, где одновременно работает несколько серверных приложений (например, для веб-сервера). Требует среднего количества системных ресурсов;
• Dedicated MySQL Server Machine (Выделенный MySQL-сервер) – данная конфигурация походит для выделенного сервера, где будет работать только MySQL. Требует максимального количества ресурсов.
Рис. 1.10. Выбор конфигурации сервера
Если вы установили программу MySQL на своем персональном компьютере, рекомендуется выбрать вариант Developer Machine (Компьютер разработчика). Нажмите кнопку Next (Далее).
4. Выберите тип базы данных (рис. 1.11) в зависимости от того, какие типы таблиц вы преимущественно планируете использовать. Основными типами таблиц в MySQL являются InnoDB и MylSAM. Таблицы InnoDB обеспечивают высокую эффективность операций изменения данных в многопользовательском режиме благодаря поддержке транзакций (понятие транзакции мы рассматривали в подразделе «Целостность данных») и блокировок отдельных строк. Таблицы MylSAM не поддерживают обработку транзакций, зато обеспечивают отличную производительность операций поиска и чтения данных.
Рис. 1.11. Выбор типа базы данных Вы можете выбрать одно из следующих значений:
• Multifunctional Database (Многофункциональная база данных) – база данных общего назначения, оптимизированная для работы как с таблицами InnoDB, так и с MylSAM;
• Transactional Database Only (Транзакционная база данных) – база данных, оптимизированная главным образом для работы с таблицами InnoDB (однако другие типы таблиц также используются). Этот тип подходит для применения в корпоративных информационных системах;
• Non-Transactional Database Only (Нетранзакционная база данных) – база данных, включающая только таблицы без поддержки транзакций (MylSAM и др.). Подходит для использования в веб-приложениях и системах анализа данных.
Если вы пока не знаете, потребуется ли вам поддержка транзакций, то выберите значение Multifunctional Database. Нажмите кнопку Next (Далее).
Если вы выбрали вариант Non-Transactional Database Only (Нетранзакционная база данных), то следующий пункт пропустите.
5. Если вы выбрали вариант Multifunctional Database (Многофункциональная база данных) или Transactional Database Only (Транзакционная база данных), то при необходимости можно изменить каталог файловой системы, где будут храниться файлы табличной области InnoDB (рис. 1.12). Размещение табличной области на отдельном физическом носителе может использоваться для повышения емкости или производительности базы данных.
Рис. 1.12. Выбор каталога для размещения табличной области InnoDB
Рекомендуется использовать каталог по умолчанию. В этом случае просто нажмите кнопку Next (Далее).
Если требуется изменить каталог, выберите из списка нужный файловый носитель (диск). В нижней части окна отобразится информация об объеме свободного и занятого пространства на этом носителе. Затем введите путь к каталогу либо нажмите кнопку
и выберите папку в стандартном окне Windows для открытия файла. В завершение нажмите кнопку Next (Далее).
6. Укажите предполагаемое количество пользователей/приложений, одновременно подключенных к серверу (рис. 1.13):
• Decision Support (DSS)/OLAP (Система поддержки принятия решений/аналитической обработки данных) – прогнозируемое количество одновременных соединений составляет в среднем 20; допускается не более 100 одновременных соединений;
• Online Transaction Processing (OLTP) (Система оперативной обработки транзакций/массового ввода и модификации данных) – допускается не более 500 одновременных соединений;
• Manual Setting (Ручная установка) – выберите из списка или введите максимальное количество одновременных соединений.
Нажмите кнопку Next (Далее).
Рис. 1.13. Задание максимального количества одновременных соединений
7. Определите необходимость разрешить удаленные подключения и возможность использования строгого режима (рис. 1.14).
Рис. 1.14. Включение необходимых режимов работы
• Если вы предполагаете разрешить пользователям подключаться к серверу MySQL с удаленных компьютеров, то должен быть установлен флажок Enable TCP/IP Networking (Разрешить TCP/IP-соединения).
В этом случае введите в поле Port Number (Номер порта) номер порта (по умолчанию используется 3306). Установите флажок Add firewall exception for this port (Добавить исключение брандмауэра для этого порта) для автоматического открытия этого порта в брандмауэре Windows. Также вы можете открыть этот порт вручную (Пуск → Панель управления → Брандмауэр Windows → Исключения → Добавить порт). Рекомендуется не менять номер порта по умолчанию и установить флажок Add firewall exception for this port (Добавить исключение брандмауэра для этого порта).
• Если необходимо разрешить использование строгого режима, установите флажок Enable Strict Mode (Разрешить строгий режим). В строгом режиме при попытке ввода в таблицу некорректного значения операция отменяется и выдается сообщение об ошибке (в обычном режиме некорректное значение заменяется подходящим и выдается предупреждение). Рекомендуется установить этот флажок.
• Если требуется разрешить подключение к серверу MySQL с удаленных компьютеров, то должен быть установлен флажок Enable TCP/IP Networking (Разрешить TCP/IP-соединения). В этом случае введем в поле Port Number (Номер порта) номер порта (по умолчанию используется 3306). Установите флажок Add firewall exception for this port (Добавить исключение брандмауэра для этого порта) для автоматического открытия этого порта в брандмауэре Windows. Вы можете открыть этот порт и вручную (Пуск → Панель управления → Брандмауэр Windows → Исключения → Добавить порт).
Нажмите кнопку Next (Далее).
8. Выберите кодировку (кодовую страницу), используемую по умолчанию для данных в базе (рис. 1.15).
Рис. 1.15. Выбор кодировки по умолчанию
Кодировка – это таблица соответствия между символами (в частности, символами национальных алфавитов), которые отображаются на экране, и числовыми кодами символов, с которыми работает программа. Для кодирования (представления) текстов на русском языке традиционно применяются несколько различных кодировок, такие как KOI8-R, CP-866 (кодировка DOS), CP-1251 (кодировка Windows), UTF-8 (Unicode) и др. Итак, выберите одно из следующих значений:
• Standard Character Set – кодировка Latin1;
• Best Support For Multilingualism (Наилучшая поддержка мультиязычности) – кодировка Unicode (UTF-8);
• Manual Selected Default Character Set / Collation (Ручная установка кодировки и правил сортировки по умолчанию) – выберите кодировку из списка поддерживаемых кодировок.
Если вы еще не знаете, какая кодировка для вашей базы данных предпочтительнее, рекомендуется выбрать значение Best Support For Multilingualism (Наилучшая поддержка мультиязычности). Впоследствии вы сможете, независимо от выбранной кодировки по умолчанию, назначать другие кодировки для отдельных таблиц и даже столбцов.
Нажмите кнопку Next (Далее).
9. Задайте параметры Windows, которые будут использоваться программой MySQL (рис. 1.16).
Рис. 1.16. Выбор параметров Windows
• Если необходимо сконфигурировать MySQL как сервис Windows, установите флажок Install As Windows Service (Установить как сервис Windows). При этом вы можете изменить имя сервиса и указать его автоматический запуск при запуске Windows, установив флажок Launch the MySQL Server automatically (Автоматически запускать сервер MySQL).
• Установите флажок Include Bin Directory in Windows PATH (Включить каталог bin в переменную Windows PATH), чтобы при запуске сервера и утилит из командной строки не надо было указывать полный путь к ним (поскольку путь к подкаталогу bin будет добавлен в значение системной переменной Path).
Внимание!
Если вы сняли флажок Install As Windows Service (Установить как сервис Windows), следующий пункт пропустите. В этом случае для обеспечения безопасности необходимо вручную установить пароль пользователя root при первом запуске сервера MySQL.
Рекомендуется в данном окне установить все три флажка.
Нажмите кнопку Next (Далее).
10. Настройте параметры безопасности MySQL (рис. 1.17).
Рис. 1.17. Настройка параметров безопасности
• Введите в поля New root password (Новый пароль root) и Confirm (Подтверждение) пароль пользователя root (этот пользователь обладает правами для проведения любых действий в MySQL).
• Вы можете разрешить пользователю root подключаться к серверу с удаленных компьютеров. Для этого установите флажок Enable root access from remote machines (Разрешить пользователю root доступ с удаленных компьютеров). С точки зрения безопасности предпочтительнее запретить пользователю root доступ с удаленных компьютеров.
• Если необходимо разрешить пользователям анонимный доступ, установите флажок Create An Anonymous Account (Создать анонимного пользователя). Это делать не рекомендуется, так как снижается защищенность базы данных.
Нажмите кнопку Next (Далее).
11. Для запуска процесса конфигурирования нажмите кнопку Execute (Выполнить) (рис. 1.18).
Рис. 1.18. Конфигурирование MySQL
12. По окончании конфигурирования нажмите кнопку Finish (Готово).
Выполненные настройки можно посмотреть в файле my.ini, расположенном в каталоге, где установлена программа MySQL.
Если вы указали необходимость сконфигурировать MySQL как сервис Windows, мастер настройки создаст и запустит этот сервис. В противном случае нужно запустить сервер вручную. После запуска вы можете подключиться к серверу как пользователь root с паролем, который вы ввели при настройке параметров безопасности (или с пустым паролем, если вы не вводили пароль при настройке). Об этом пойдет речь в разделе «Начало работы в MySQL».
Далее мы рассмотрим установку графических утилит MySQL (о которых было сказано в подразделе «Загрузка MySQL»). Если вы решили использовать только командную строку, то можете перейти к следующему разделу.
Установка MySQL GUI Tools
Чтобы установить графические утилиты MySQL, выполним следующие действия.
1. Запустите мастер установки MySQL GUI Tools (Setup Wizard), дважды щелкнув на значке файла mysql-gui-tools-5.0xxx-win32.msi.
2. В начальном окне мастера установки (рис. 1.19) нажмите кнопку Next (Далее).
Рис. 1.19. Начальное окно мастера установки
3. Подтвердите согласие с лицензионным соглашением, выбрав значение переключателя I accept the terms in the license agreement (Я принимаю условия лицензионного соглашения) (рис. 1.20). Нажмите кнопку Next (Далее).
Рис. 1.20. Лицензионное соглашение
4. Если необходимо изменить каталог установки утилит (рис. 1.21), нажмите кнопку Change (Изменить).
Рис. 1.21. Настройка каталога установки
В появившемся окне для выбора каталога установки (см. рис. 1.4) введите нужный путь к каталогу в поле Folder name (Имя каталога) либо в поле Look in (Смотреть в) выберите из списка нужный диск, а затем последовательно раскройте вложенные папки, пока не дойдете до нужной. Нажмите кнопку OK.
Для продолжения установки нажмите кнопку Next (Далее).
5. Выберите тип установки (рис. 1.22):
• Complete (Полная) – установка всех графических утилит пакета;
• Custom (Выборочная) – установка отдельных компонентов.
Рис. 1.22. Выбор типа установки
Если вы хотите установить все три графические утилиты, выберите вариант Complete (Полная). Если же вы не планируете использовать какую-либо из этих утилит, выберите вариант Custom (Выборочная). Нажмите кнопку Next (Далее).
Если вы выбрали тип установки Complete (Полная), следующий пункт пропустите.
6. Если вы выбрали тип установки Custom (Выборочная), то укажите набор устанавливаемых компонентов (рис. 1.23). Если необходимо включить в установку или исключить из нее какой-либо компонент, найдите его в дереве компонентов, щелкните на значке слева от названия компонента и в контекстном меню выберите нужное действие (
– компонент будет установлен,
– компонент не будет установлен).
Рис. 1.23. Выбор устанавливаемых компонентов
Определив набор устанавливаемых компонентов, нажмите кнопку Next (Далее).
7. Проверьте правильность выбранного типа установки и каталога установки (рис. 1.24). Если параметры необходимо изменить, нажмите кнопку Back (Назад). Если параметры указаны верно, для запуска установки нажмите кнопку Install (Установить).
Рис. 1.24. Подтверждение параметров
8. После окончания установки на экране появится информационное окно (см. рис. 1.6). В этом и последующих аналогичных окнах просто нажмите кнопку Next (Далее). В последнем окне нажмите кнопку Finish (Готово).
Итак, установка MySQL завершена. Следующий этап – запуск сервера MySQL и подключение к нему. Об этом пойдет речь в следующем разделе.
1.5. Начало работы в MySQL
Чтобы работать с базой данных, вначале необходимо запустить сервер MySQL и подключиться к нему. Если при настройке сервер MySQL был сконфигурирован как сервис Windows, то он был автоматически запущен по окончании настройки. В противном случае сервер нужно запустить из командной строки (см. подраздел «Запуск и остановка сервера MySQL из командной строки») или с помощью графической утилиты MySQL Administrator (см. подраздел «Запуск и остановка сервера MySQL с помощью MySQL Administrator»).