Системой управления базами данных называют программную систему, предназначенную для создания на ЭВМ общей базы данных, используемой для решения множества задач. Подобные системы служат для поддержания базы данных в актуальном состоянии и обеспечивают эффективный доступ пользователей к содержащимся в ней данным в рамках предоставленных пользователям полномочий.
СУБД предназначена для централизованного управления базой данных в интересах всех работающих в этой системе.
Рынок программного обеспечения ПК располагает большим числом разнообразных по своим функциональным возможностям коммерческих систем управления базами данных общего назначения, а также средствами их окружения практически для всех массовых моделей машин и для различных операционных систем.
Используемые в настоящее время СУБД обладают средствами обеспечения целостности данных и надежной безопасности, что даёт возможность разработчикам гарантировать большую безопасность данных при меньших затратах сил на низкоуровневое программирование.
Язык запросов SQL (Structured Query Language) реализован в целом ряде популярных СУБД для различных типов ЭВМ либо как базовый, либо как альтернативный. В силу своего широкого использования является международным стандартом языка запросов.
Одной из самой популярной, использующей SQL, является СУБД MySQL. Достоинства пакета MySQL заключается в следующем:
MySQL - бесплатная СУБД, что отличает ее от других дорогостоящих продуктов;
многопоточность: поддержка нескольких одновременных запросов;
оптимизация связей с присоединением многих данных за один проход;
записи фиксированной и переменной длины;
ODBC драйвер в комплекте с исходным кодом;
гибкая система привилегий и паролей;
до 16 ключей в таблице, каждый ключ может иметь до 15 полей;
поддержка ключевых полей и специальных полей в операторе CREATE;
поддержка чисел длинной от 1 до 4 байт (ints, float, double, fixed), строк переменной длины и меток времени;
интерфейс с языками C и Perl;
основанная на потоках, быстрая система памяти;
утилита проверки и ремонта таблицы (isamchk);
все данные хранятся в формате ISO8859_1;
все операции работы со строками не обращают внимания на регистр символов в обрабатываемых строках;
псевдонимы применимы как к таблицам, так и к отдельным колонкам в таблице;
все поля имеют значение по умолчанию. INSERT можно использовать на любом подмножестве полей;
легкость управления таблицей, включая добавление и удаление ключей и полей.
Необходимо напомнить, что межплатформенность MySQL состоит в возможности не только работать на разных платформах, но и использовать файлы баз данных, созданные на различных платформах. Фактически это означает, что если физически перенести файлы баз данных, созданные на Linux-платформе, в Windows 2000 или FreeBSD, то такая база данных будет работоспособна без дополнительной конвертации.
В данной курсовой работе рассматривается процесс установки не только в
ОС Windows
, но и в
Linux
, так как именно последняя является самой популярной ОС на Web-серверах.
Запуск сервера MySQL
Настройка прав доступа к базам данных MySQL
Дополнительные возможности администрирования
Перед созданием базы необходимо отметить наличие в пакете утилиты MySqlManager, которая позволяет в графическом интерфейсе писать запросы к базам данных Перед созданием таблиц необходимо создать базу данных, используя утилиту WinMySQLadmin. Для этого в окне утилиты необходимо выбрать вкладку Databases и, вызвав правой кнопкой мыши контекстное меню поля Databases, выбрать пункт Create Database (см. рис.). Затем ввести имя базы (в нашем примере - Widget-DB)
Далее действия выполняются с помощью утилиты MySqlManager, после запуска которой необходимо выбрать созданную базу и через контекстное меню вызвать менеджер запросов
Далее необходимо создать таблицу Widget_Table.
Первая строка сообщает СУБД MySQL, что мы определяем таблицу по имени Widget_Table. Следующие шесть строк определяют поля, которые таблица содержит, тип данных, которые входят в них, и какие атрибуты эти поля имеют.
Одна из множества основных концепций в хорошем проекте реляционной базы данных это то, что нельзя хранить избыточные данные. В случае Widget_Table это отражено в полях Widget_color_id и widget_size_id. Эти два поля могли бы быть строками. Взамен можно сделать их указателями на другие таблицы, которые будут содержать одну запись для каждого возможного значения, которое может содержать такое поле.
Это сделано по двум причинам:
Widget_id поле - среда (3 байт) установленное по размеру целое число. Это имеет специальные атрибуты NOT NULL и AUTO_INCREMENT. NOT NULL является ANSI SQL стандартом и определяет что, когда кто-то вводит widget информацию в эту таблицу, они должны дать некоторое значение для этого поля. Если не дали, MySQL назначит полю значение по умолчанию. Конечно, если значение по умолчанию было определено, то будет использоваться оно, когда не задано никакого значения. Если же оно не определено, то поле получит значение, исходя из его типа.
AUTO_INCREMENT специфический атрибут MySQL. Если вставить ноль в это поле, MySQL автоматически назначит значение, которое на единицу выше, чем самое высокое предыдущее значение, назначенное к этому полю в этой таблице.
Мы также определяем несколько ключей. Когда Вы назначаете полю атрибут AUTO_INCREMENT, необходимо также определить это поле как первичный ключ. Вы можете иметь только один первичный ключ на таблицу. Только одно поле на таблицу может иметь AUTO_INCREMENT атрибут.
Также создается вторичные индексы использованием слова KEY. Индексирование значительно увеличивает быстродействие запросов и объединений. Индексы могут включать больше чем одно поле. Если имеется индекс, который включает больше чем одно поле, то появляется необходимость в создании другого индекса с первым полем в составном индексе.
IP-адрес - это уникальная комбинация цифр, определяющая конкретный подключенный компьютер в сети.
ISO8859_1 - Расширенная таблица символов.
MySQL - это система управления реляционными базами данных.
Web-сервер - это программное обеспечение, отвечающее за прием запросов браузеров, поиск указанных файлов и возвращение их содержимого.
База данных - совместно используемый набор логически связанных данных (и описание этих данных), предназначенный для удовлетворения информационных потребностей потребителя.
Драйвер ODBC - это динамическая библиотека (DLL), которая реализует функции ODBC, и взаимодействует с источником данных.
Запрос - выбор информации в БД по определенному условию.
Ключ - уникальный идентификатор таблицы.
Многопоточность - поддержка нескольких одновременных запросов.
Система управления базами данных - программная система, предназначенную для создания на ЭВМ общей базы данных, используемой для решения конкретных нужд пользователя.
Данное пособие было сделано в рамках курсовой работы "Установка и конфигурирование пакета MySQL".
Исполнитель: студент 31 группы факультета информатики Магнитогорского государственного университета Забелин Иван.
Цель данной курсовой работы - создание электронного пособия по настройке и конфигурировании пакета MySQL. В соответствии с целью поставлены и задачи работы:
дать общие сведения о пакете MySQL и сведения о принципах нумерации его версий;
описать процесс установки пакета MySQL;
рассмотреть те возможности для конфигурирования и администрирования, которое он предлагает, включая создание пользователей, отладку, блокирование таблиц, кэширование и резервное копирование
При взаимодействии клиента и сервера MySQL, используется соедине-ние TCP/IP, поэтому перед установкой необходимо установить протокол TCP/IP если система не использует сетевые соединения сети.
Для запуска MySQL-сервера в системах Windows 95/98/ME необходимо выполнить файл mysqld.exe. Сервер запускается как безоконный фоновый процесс. При этом он остается в памяти и обрабатывает запросы от клиентских приложений.
Для остановки сервера следует выполнить команду
mysqladmin -u root shutdown
Если сервер не был остановлен корректно, при последующем запуске в файле mysql.err будет добавлена запись о некорректном завершении. Корректная остановка сервера необходима для сохранения всех данных, которые находятся в КЭШах MySQL.
Сервер MySQL для Windows NT/2000/XP/2003 Server обычно устанавливается как сервис, но также предусмотрена возможность запуска сервера MySQL без установки сервиса. Для того, чтобы установить MySQL как сервис, необходимо выполнить команду
mysqld-nt -install
При этом появляется возможность управления сервером как из командной строки с помощью команд:
NET START mysql
NET STOP mysql,
так и с помощью визуальных средств управления серверами
Так же как и в Windows 95/98/ME, при запуске MySQL используются установки, описанные в файлах my.ini, my.cnf.
Предусмотрена возможность удаления сервиса, для этого следует выполнить команду
mysqld-nt -remove
При отсутствии необходимости установки MySQL в качестве сервиса операционной системы сервер MySQL можно запускать следующим образом:
Mysqld-nt -standalone
После установки серверной части MySQL для обеспечения безопасности данных необходимо указать пароль администратора MySQL и установить парольный доступ клиентов к базам данных.
Необходимо заметить, что для удобного администрирования пакета MySQL в нем существует графическая утилита WinMySQLadmin, которая позволяет изменять конфигурационный файл my.ini, запускать и останавливать сервер, просматривать информацию о сервере, об активных соединениях, производить некоторые операции с базами данных (например, создание и удаление), просматривать таблицы баз (именование столбцов и тип данных), просматривать файл ошибок и создавать отчеты
Утилита автоматически помещает значок в область уведомлений панели задач и "сигнализирует" символом светофора о состоянии сервера MySQL: запущен он или остановлен.
Назад в Конфигурирование ::: Вперед к настройке прав доступа
MySQL имеет развитую систему доступа к базам данных. пользователю базы данных может быть предоставлен доступ ко всей базе данных, отдельным таблицам и отдельным столбцам таблиц. Имеется разграничение на действия, которые может производить пользователь с записями. Для органи-зации такой структуры доступа используется несколько таблиц в специальной базе данных. На основании значений этих таблиц выстраивается политика предоставления доступа.
Добавление новых пользователей осуществляется по обычной схеме добавления записей в таблицу базы данных MySQL. Пример создания пользователей дан на рис.
Было создано три пользователя:
monty - cуперпользователь (администратор), должен использо-вать пароль, для работы с MySQL:
dummy должен быть допущен к индивидуальной базе данных по таблице 'db ';
admin не нуждается в пароле, но разрешено выполнение только команд 'mysqladmin reload' и 'mysqladmin processlist'. Может быть допущен к индивидуальной базе данных через таблицу 'db'.
База данных, которую сервер MySQL использует для хранения внутренней информации о пользователях, по умолчанию имеет имя mysql. В этой базе данных определены таблицы для хранения информации пользовательских учетных записей.
Проверка прав доступа производится в порядке, указанном в предыдущей таблице. Прежде всего проверяется, существует ли пользователь и какие возможности он имеет при управлении базой данных (табл. user).
Поля с типом enum('N','Y') считаются разрешенными, если для них установлено значение Y, и неразрешенными, если установлено значение N.
Для администратора сервера MySQL необходимы все привилегии; для обычных пользователей в данной таблице обычно не разрешена ни одна из привилегий этой таблицы, то есть обычные пользователи не могут изменять конфигурацию сервера MySQL. Исключением можно считать привилегии File_priv, если пользователь активно работает с файловой системой.
Поле host может быть описано как IP-адрес или имя, а также быть пустым. В имени компьютера и в имени пользователя разрешается применение регулярных выражений.
Пароли хранятся в зашифрованном виде и не имеют функции обратной дешифровки. Для того, чтобы задать пароль, необходимо использовать функцию password( ).
Если привилегии на просмотр процессов сервера не разрешены, тогда пользователь может видеть только собственные процессы.
На этапе проверки значений таблицы user пропускаются для дальнейшей обработки только те соединения, у которых поля Host, User и значение функции password ( ) от значения пароля, полученного от клиента, совпадают.
Дальнейшая обработка проводится в таблице db, на этом этапе определяются привилегии, которыми обладает пользователь для работы с конкрет-ной базой данных (см. табл.).
Как и в предыдущем случае, поле host, имя пользователя и название базы данных могут содержать специальные символы регулярных выражений.
Привилегии, указанные в таблице db, перекрывают значения, полученные в таблице user, именно поэтому пользователи могут не иметь ни одной привилегии в таблице user.
Один пользователь может иметь несколько различных адресов, с которых может производиться подключение, поэтому на данном этапе проверяется значение Host. Если значение поля Host пусто, тогда производится допол-нительная проверка в таблице host (см. табл.)
Столбцы таблицы host аналогичны столбцам таблицы db, разница состоит только в том, что данные из таблицы host при совпадении полей Host и Db имеют более высокий приоритет и перекрывают ранее установленные значения.
MySQL позволяет устанавливать ограничения на доступ к отдельным таблицам и столбцам таблицы (см. следующие две таблицы), но увеличение количества проверок приводит к уменьшению производительности.
Наличие хотя бы одной записи в таблице tables_priv или columns_priv приведет к тому, что все входящие запросы будут проверяться на соответствие выполняемым операциям. Поскольку количество проверок на соответствие разрешенным привилегиям возрастет в несколько раз, перед применением таких ограничений следует протестировать производительность сервера баз данных с типовой нагрузкой. Если возникнут проблемы с производительностью, нужно будет изменить конфигурацию сервера либо отказаться от та-кого типа проверок.
Следует помнить следующие правила при настройке прав доступа:
Имя сервера и поля в таблице db могут содержать регулярные выражения языка SQL: символы "%" и "_". В других полях использовать их нельзя;
Имя сервера может быть доменным именем, именем localhost, IP адресом или SQL выражением. Пустое поле "имя сервера" означает любой сервер;
Поле db является именем базы данных или SQL выражением;
Пустое имя пользователя эквивалентно любому пользователю;
Пустой пароль эквивалентен любому паролю. Вы можете создать суперпользователя (super-user), установив все права для него в 'Y' в таблице пользователей при его создании. Этот пользователь сможет делать что угод-но, не считаясь со значениями, установленными в таблице db;
Таблица серверов проверяется только когда в таблице db поле "имя сервера" пустое;
Все таблицы, по возможности, сортируются в порядке host-user-db.
Синтаксис:
LOCK TABLES tbl_name [AS alias] {READ | [LOW_PRIORITY] WRITE}
[, tbl_name {READ | [LOW_PRIORITY] WRITE} .]
.
UNLOCK TABLES
Таблицы блокируются для использования отдельным потоком. Действие блокировок распространяется до тех пор, пока не произойдет разблокирование командой UNLOCK TABLES или соединение с блокирующим потоком не будет разорвано.
Ключевое слово READ блокирует таблицу "только чтение", при этом все остальные потоки могут читать данные из таблицы, но записывать в таблицу может только один, контролирующий поток.
Блокировки WRITE используются доля полной блокировки таблицы, когда ни один из потоков, кроме блокирующего, не может ни читать, ни записывать данные.
Каждый поток для выполнения действий без блокировки ждет до тех пор, пока эта блокировка не будет снята или не закончится время, выделенное на эту операцию. В последнем случае произойдет ошибка по timeout.
Блокировки WRITE имеют более высокий приоритет в очереди на блокировку, чем блокировки WRITE, чтобы данные были внесены без задержек. Обойти это условие можно, указав ключевое слово LOW PRIORITY.
Блокировать необходимо все таблицы, которые будут использованы; при этом необходимо использовать те же псевдонимы, которые будут использованы в запросах.
Обычно блокировки используются для внесения очень больших изменений в таблицы, в этом случае блокировки ускоряют работу и для эмуляции транзакций.
Синтаксис:
BACKUP TABLE tbl_name [, tbl_name.] TO '/path/to/backup/directory'
RESTORE TABLE tbl_name [, tbl_name.] FROM '/path/to/backup/directory'
Функция BACKUP копирует минимально необходимые для восстановления файлы таблиц в указанную директорию.
Функция RESTORE восстанавливает таблицы из файлов, предварительно подготовленных функцией BUCKUP.
Перед восстановлением таблиц необходимо удалить старые таблицы, иначе восстановление не будет произведено. Кроме того, восстановление занимает достаточно много времени по сравнениию с резервированием, так как при этом для таблиц формируются индексы.
Синтаксис:
OPTIMIZE TABLE tbl_name [, tbl_name2 .]
Оптимизация таблиц используется после большого количества удалений или изменений информации в таблицах. Оптимизация выполняется за счет удаления неиспользуемого места в таблицах и сортировки индексов.
Синтаксис:
CHECK TABLE tbl_name [, tbl_name .] [option [option]]
option = QUICK | FAST | EXTEND | CHANGED
ANALYZE TABLE tbl_name [, tbl_name.]
Проверка данных таблиц на наличие ошибок для таблиц MyISAM и BDB выполняется функцией CHECK TABLE. Если найдена ошибка в таблице данных или индексов, таблица помечается как дефектная и не может быть использована до тех пор, пока не будет восстановлена.
Анализ ключей можно провести с помощью утилиты myisamchc -a, проверку данных таблиц - с помощью myisamchc -m.
Функция ANALYZE TABLE проверяет состояние индексов в таблицах для MyISAM и BDB. На время проверки таблица обычно блокируется "на чтение".
Синтаксис:
REPAIR TABLE tbl_name [, tbl_name.] [QUICK] [EXTENDED]
Производит ремонт и сжатие таблиц.
Синтаксис:
FLUSH [HOSTS]
[.LOGS]
[.PRIVILEGES]
[.[TABLE | TABLES] table_name [, table_name.]]
[. TABLES WITH READ LOCK]
[.STATUS]
Очистка КЭШа MySQL сбрасывает всю информацию, находящуюся в КЭШе данных MySQL, на диск. Для выполнения этой операции необходимы привилегии Reload_priv.
Ключевое слово HOST указывает MySQL очистить информацию о клиентских площадках. Применяется при смене клиентского IP-адреса или появлении ошибок связи с сервером.
LOGS закрывает и повторно открывает все журналы. Если определен журнал изменений или binary-журнал без расширения, то номер в расширении имени журнала будет увеличен на 1 относительно предыдущего файла.
PRIVILEGES записывает и заново открывает информацию о привилегиях пользователей. Это делается для вступления в силу изменений, сделанных в политике привилегий.
Использование TABLES без перечисления имен таблиц закрывает и открывает все открытые таблицы. При этом записываются все изменения, внесенные в таблицы. При перечислении имен таблиц будет перезагружена информация только из указанных таблиц.
FLUSH TABLES WITH READ LOCK закрывает все открытые таблицы и блокирует их чтение до тех пор, пока не будет выполнена команда UNLOCK TABLES. БЛОКИРОВАНИЕ базы данных подобным образом позволяет выполнять резервное копирование базы данных.
STATUS обнуляет runtime-переменные сервера.
Синтаксис:
KILL thread_id
Каждое подключение к MySQL выполняется в отдельном потоке. При необходимости можно определить поток командой SHOW PROCESSLIST и отключить соединение с ним.
Для того, чтобы видеть все потоки, необходимо иметь привилегии Process_priv, иначе видны только потоки текущего пользователя.
Синтаксис:
SHOW DATABASES [LIKE wild]
or SHOW [OPEN] TABLES [FROM db_name] [LIKE wild]
or SHOW [FULL] COLUMNS FROM tbl_name [FROM db_name] [LIKE wild]
or SHOW INDEX FROM tbl_name [FROM db_name]
or SHOW TABLE STATUS [FROM db_name] [LIKE wild]
or SHOW STATUS [LIKE wild]
or SHOW VARIABLES [LIKE wild]
or SHOW LOGS
or SHOW [FULL]
or SHOW GRANTS FOR user
or SHOW CREATE TABLE table_name
or SHOW MASTER STATUS
or SHOW MASTER LOGS
or SHOW SLAVE STATUS
Команда SHOW позволяет получать информацию о базе данных, таблицах, полях и индексах таблиц, а также информацию о состоянии сервера MySQL.
При использовании уточнений LIKE wild, wild является регулярным выражением, в котором могут использоваться символы "%" и "_".
Информация выводится только при наличии у пользователя соответствующих привилегий и прав доступа.
SHOW DATABASES выводит список существующих баз данных на сервере MySQL.
Вывод информации о таблицах и столбцах может происходить с использованием ключевого слова FROM или без него с указанием пути к исследуемому объекту.
mysql> SHOW FIELDS FROM table FROM database;
mysql> SHOW FIELDS FROM database.table;
SHOW TABLES Выводит список существующих таблиц. Ключевое слово OPEN Указывает MySQL выводить только открытые таблицы, данные которых находятся в КЭШе MySQL.
SHOW COLUMNS и его синоним SHOW FIELDS выводят список полей таблиц с описанием типов. Если используется ключевое слово FULL, дополнительно выводится информация о привилегиях текущего пользователя.
SHOW INDEX и его синоним SHOW KEYS возвращают данные о первичных ключах и индексах таблицы. Столбцы результата команды SHOW INDEX Имеют значения, перечисленные в табл.
Информация о таблице выводится с помощью команды SHOW TABLE STATUS, Список возвращаемых значений которой приведен в следующей табл.
Команда SHOW STATUS выводит список runtime-переменных, по которым можно судить о состоянии сервера MySQL.
SHOW VARIABLES выводит значения некоторых системных переменных MySQL. Эту же информацию можно получить, используя утилиту WinMySQLadmin (вкладка variables)
SHOW LOGS выводит информацию о существующих журналах.
SHOW PROCESSLIST выводит информацию о выполняющихся потоках. Для того, чтобы видеть все потоки, пользователю нужно иметь привилегии processlist, иначе он сможет увидеть только свои собственные потоки. Без указания опции FULL Выводятся только первые 100 или меньше символов запроса потока. Прервать выполнение потока можно с помощью функции KILL.
SHOW CREATE TABLE выводит SQL-код, с которым создана таблица.
Первые этапы установки одинаковы для всего семейства операционной системы Windows.
Первоначально необходимо загрузить установочный файл с сервера http://www.MySQL.com и разархивировать его в одну из директорий. Затем следует запустить файл setup.exe и следовать инструкциям.
Дистрибутив для платформ Windows по умолчанию устанавливается в каталог C:\mysql, однако в любое время после установки можно выбрать другой каталог или перенести установленные файлы в другое место без дополнительной перестановки программы.
При переносе из каталога установки необходимо указать mysqld местонахождение файлов MySQL путем задания переменной basedir. Эту переменную можно указать непосредственно при запуске mesqld, например mysqld - basedir X:\Program Files\mysql, либо прописать в файле my.cnf в корневом ка-талоге диска C: (или в файле my.ini в каталоге Windows).
При установке на выбор администратору предоставляется несколько вариантов установки: Typical (типовая), Compact (компактная) или Custom (установка по выбору). При выборе установки "по выбору" дополнительно можно установить файлы заголовков, библиотеки и тесты.
Если планируется использовать MySQL совместно с другими приложениями под Windows, то понадобится ODBC-драйвер для MySQL. Его можно найти на http://www.mysql.com/downloads/api-myodbc.html.
При установке MySQL в каталоге, где установлена Windows. Создается файл my.ini, в котором можно задавать параметры запуска MySQL-сервера, клиента и утилит. Дополнительно к файлу my.ini в корневом каталоге диска C: можно создать ранее упоминавшийся файл my.cnf, данные которого будут также использоваться при инициализации MySQL. Однако необходимо пом-нить, что при прописывании любых путей в файлах my.ini или my.cnf необ-ходимо использовать символ "/" вместо принятого в Windows "\", поскольку символ "\" является специальным символом.
Процесс установки MySQL на ОС Linux в данной работе рассмотрен на примере RedHat Linux (в данном случае Linux 9.0 Ural). Однако, данная уста-новка уместна и для других Linux-систем таких как Linux Debian, Mandrake и т.п. с установленными пакетами для программирования и отладки.
Для установки необходимы установочные пакеты RPM пакета MySQL, которые можно скачать с официального сайта. Если не требуется введения дополнительных функций и изменения перекомпилированных параметров, данный способ установки (с использованием пакетов PRM) является наибо-лее удобным. Все RPM-пакеты для RedHat Linux компилируются для версии 6.2 и должны выполняться во всех последующих версиях системы. Однако, для достижения наибольшей производительности можно скомпилировать MySQL самостоятельно. Как правило, компиляция и настройка параметров на этой стадии позволяет увеличить производительность MySQL на 5-15%. Исходные коды для компиляции также можно скачать на сайте http://www.MySQL.com
В таблице перечислены файлы, необходимые для установки MySQL с помощью RPM.
shell> rpm -i MySQL-VERSION.i386.rpm MySQL-client-VERSION.i386.rpm
При этом будет установлен сервер и клиент MySQL. Для установки только клиентского приложения необходимо выполнить команду
shell> rpm -i MySQL-client-VERSION.i386.rpm
При установке с помощью RPM данные будут размещены в каталоге /var/lib/MySQL, при этом также будут добавлены необходимые записи в /etc/rc.d/ для автоматического запуска MySQL-сервера во время загрузки сис-темы.
После установки MySQL необходимо установить пароль администра-тора, в противном случае неограниченный доступ к записям базы данных бу-дут иметь все пользователи, имеющие доступ к серверу, на котором произво-дилась установка.
Перед установкой пакета, необходимо разобраться с версией пакета. Версии MySQL постоянно обновляются - добавляются новые функции и улучшаются существующие. Для того, чтобы разделить качество вносимых изменений в разные версии MySQL, была введена специальная система ну-мерации, позволяющая определить, какого рода изменения были внесены в ту или иную версию. Такая нумерация позволяет компактно группировать изменения в пакете.
Номер версии состоит из трех чисел, например 3.23.31-beta.
Первый номер в версии MySQL (в приведенном примере - 3) описыва-ет формат файла. Все выпуски версии 3 имеют одинаковый формат файлов баз данных. При появлении следующей версии все таблицы должны быть преобразованы к новому формату и только после этого смогут работать. Для преобразования файлы таблиц к новому формату предоставляются необхо-димые инструменты.
Второй номер в версии MySQL (в примере - 23) указывает выпуск. Обычно увеличение этого номера происходит при добавлении значительных функциональных возможностей MySQL. Как правило, используются два по-следних выпуска. Оба они считаются устойчивыми, однако более старшая версия может иметь некоторые особенности, при этом документация с опи-санием этих особенностей может отсутствовать, или версия не может быть собрана на некоторых операционных системах.
Третий номер в версии MySQL. (в примере - 31) - номер версии в пре-делах выпуска. Этот номер увеличивается для каждого нового дистрибутива. Как правило, он свидетельствует об исправлении ошибок и добавлении не-значительных новых возможностей.
Суффикс (в примере - beta) указывает уровень стабильности выпуска. Возможные суффиксы:
alpha указывает, что выпуск содержит некоторую большую сек-цию новых изменений, которые не были проверены на 100%. Известные ошибки должны быть описаны в секции "Новости";
beta означает, что весь новый выпуск был проверен. Никакие но-вые особенности, добавленные в версии alpha, не должны вызывать сбои в работе, кроме того, не должно быть никаких известных ошибок. Версия из-меняется с alpha на beta, если в пределах выпуска не было никаких сообще-ний о фатальных ошибках;
gamma - это версия beta, которая тестировалась достаточно долго и работает устойчиво. По сравнению с beta версия может включать незначи-тельные исправления ошибок;
отсутствие суффикса означает, что версия протестирована и не-которое время работает на различных платформах без сообщений ошибок. В этом случае говорят об устойчивом выпуске.