К безопасности имеют отношение следующие опции 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
.