В MySQL предусмотрен значительно усовершенствованный контроль доступа, ис­ключающий возможность несанкционированного проникновения в систему. Этот кон­троль базируется на пятиуровневой иерархии привилегий, которая определяет общие правила доступа при обработке запросов пользователей.
■ Подключение к серверу производится только тогда, когда субъект доступа соблюдает правила доступа, которые заложены в основу системы привилегий MySQL. Эти правила могут быть заданы самими пользователями и/или узлом, для того чтобы ограничить доступ с внешних узлов, определенных подсетей, а также из оп­ределенной области IP-адресов. Подключение к серверу возможно только в одном случае - если пользователь введет правильный пароль. 
■ Как только связь установлена, система начинает следить за каждым шагом поль­зователя, чтобы он не выходил за рамки своих привилегий. Пользователя можно ограничить, позволяя ему работать только с определенными базами данных. MySQL постоянно контролирует все запросы пользователя к базе данных, таблице или полю.
Защита системы значительно усовершенствована путем организации одностороннего кодирования пароля пользователя. Так, схема кодирования была существенно усовер­шенствована в MySQL 4.x. Новейшие версии MySQL поддерживают работу с SSL-протоколом, позволяющим для обеспечения лучшей защиты кодировать информацию, которая проходит через соединение клиент/сервер.
Оптимизация работы
Как известно, основные усилия администратора базы данных должны быть направлены на организацию наиболее оптимальной работы СУБД, чтобы в максимальной степени воспользоваться ее функциональными возможностями. С этой целью были специально разработаны алгоритмы оптимизации, чем MySQL выгодно отличается от других СУБД. Кроме того, установка MySQL невероятно проста, не требует больших затрат времени и сил.
MySQL легко настроить в соответствии с вашими требованиями. Многие возможности, присущие современным СУБД, могут повлечь за собой ухудшение функциональности - транзакции, целостность уровня ссылок и хранимые процедуры, которые можно активизировать или отключать по желанию. Это дает возможность настроить наиболее подходящую конфигурацию СУБД MySQL в соответствии с предназначением. Такие команды, как ANALYZE TABLE или EXPLAIN SELECT, помогают разработчикам SQL проанализировать работу запросов, быстро определить слабое место. К тому же добавле­ны некоторые новые возможности, которые помогают оптимизировать работу без вме­шательства программистов. К таким новым возможностям относится, например, кэширо­вание запроса, т.е. кэширование результатов запросов - в случае, если последующие за­просы однотипные, результат автоматически берется из кэш-памяти.
Что касается производительности, то с ней связан очень важный аспект - масштаби­руемость. Существует большое количество баз данных, которые хорошо работают на не­скольких тысячах записей, но когда эти тысячи становятся миллионами, то возникают огромные проблемы. Но в случае с MySQL это уже давно не проблема, просто СУБД разрабатывается с учетом возможного расширения, а значит, гарантируется сохранение огромного количества информации (таблицы на несколько Гбайт, в которых находятся сотни тысяч записей), что делает MySQL очень удобным как для небольших баз данных, так и для огромных и разветвленных хранилищ данных.
В последующих главах детально обсуждается каждый из этих аспектов. Но сначала рассмотрим простейшие задачи.