К безопасности имеют отношение следующие опции mysqld:
-
--local-infile[=(0|1)]При установке опции
--local-infile=0теряется возможность выполнять командуLOAD DATA LOCAL INFILE. -
--safe-show-databaseЕсли установлена эта опция, команда
SHOW DATABASESвозвращает только те базы данных, для которых пользователь имеет какую-либо привилегию. Начиная с версии 4.0.2 эта опция отменена и не служит ни для чего (она включена по умолчанию), т.к. сейчас у нас имеется привилегияSHOW DATABASES. Обратитесь к разделу See Раздел 4.3.1, «Синтаксис командGRANTиREVOKE». -
--safe-user-createПри установке этой опции пользователь не может создавать новых пользователей с помощью команды
GRANT, если у него отсутствует привилегияINSERTдля таблицыmysql.user. Чтобы предоставить пользователю доступ именно для создания новых пользователей с теми привилегиями, которые он имеет право предоставлять, для этого пользователя следует установить следующую привилегию:mysql> GRANT INSERT(user) ON mysql.user TO 'user'@'hostname';
Задание такой привилегии гарантирует, что этот пользователь не сможет непосредственно вносить изменения ни в одном из столбцов привилегий, а для предоставления привилегий другим пользователям должен будет использовать команду
GRANT. -
--skip-grant-tablesУстановка этой опции запрещает серверу вообще использовать систему привилегий. Это открывает кому бы то ни было полный доступ ко всем базам данных! (После запуска сервера можно заставить его снова использовать таблицы привилегий с помощью команды mysqladmin
flush-privilegesилиmysqladmin reload.) -
--skip-name-resolveПри установке данной опции имена хостов не разрешены. Все значения в столбцах
Hostтаблиц привилегий должны быть либо IP-адресами, либоlocalhost. -
--skip-networkingНе разрешает осуществлять подсоединений по протоколу TCP/IP через сеть (данная опция запрещает такие подсоединения). Все подсоединения к
mysqldдолжны осуществляться посредством сокетов Unix. Для MySQL старше 3.23.27 эта опция непригодна для систем, в которых используются MIT-потоки, так как MIT-потоки на тот момент не поддерживали сокеты Unix. -
--skip-show-databaseРазрешает выполнение команды
SHOW DATABASESтолько в том случае, если пользователь имеет привилегиюSHOW DATABASES. Начиная с версии 4.0.2 в этой опции больше нет необходимости, т.к. теперь доступ может предоставляться избирательно с помощью привилегииSHOW DATABASES.