6.4.2 mysql_secure_installation — Улучшение безопасности установки MySQL
Эта программа позволяет улучшить безопасность вашей установки MySQL следующими способами:
Вы можете установить пароль для
rootучетных записей.Вы можете удалить
rootучетных записей, доступных извне локального хоста.Вы можете удалить учетные записи анонимных пользователей.
Вы можете удалить базу данных
test(которая по умолчанию доступна всем пользователям, даже анонимным пользователям), а также привилегии, позволяющие любому пользователю получить доступ к базам данных с именами, начинающимися сtest_.
mysql_secure_installation поможет вам реализовать рекомендации по безопасности, аналогичные тем, которые описаны в разделе 2.9.4, «Обеспечение безопасности начальной учетной записи MySQL».
Обычно для подключения к локальному серверу MySQL используется; вызов mysql_secure_installation без аргументов:
mysql_secure_installation
При выполнении mysql_secure_installation запросит у вас определение действий, которые необходимо выполнить.
Компонент validate_password может использоваться для проверки надежности паролей. Если плагин не установлен, mysql_secure_installation запросит пользователя о желании установить его. Все введённые позже пароли будут проверяться с помощью плагина, если он активирован.
Большинство стандартных опций клиента MySQL, таких как --host и --port, могут быть использованы в командной строке и в файлах опций. Например, для подключения к локальному серверу через IPv6, используя порт 3307, используйте следующую команду:
mysql_secure_installation --host=::1 --port=3307
mysql_secure_installation поддерживает следующие опции, которые могут быть указаны в командной строке или в группах [mysql_secure_installation] и [client] файла опций. Сведения о файлах опций, используемых программами MySQL, см. в разделе 6.2.2.2, «Использование файлов опций».
Таблица 6.9 Параметры mysql_secure_installation
| Имя опции | Описание |
|---|---|
| --defaults-extra-file | Чтение указанного файла опций помимо обычных файлов опций |
| --defaults-file | Чтение только указанного файла опций |
| --defaults-group-suffix | Значение суффикса группы опций |
| --help | Отображение сообщения справки и выход |
| --host | Хост, на котором находится сервер MySQL |
| --no-defaults | Не читать файлы опций |
| --password | Принимается, но всегда игнорируется. При каждом вызове mysql_secure_installation пользователя просят ввести пароль |
| --port | Номер TCP/IP порта для подключения |
| --print-defaults | Печать значений по умолчанию |
| --protocol | Протокол транспорта для использования |
| --socket | Файл Unix-сокет или именованная Windows-пайпа для использования |
| --ssl-ca | Файл, содержащий список доверенных SSL-Центров сертификации |
| --ssl-capath | Директория, содержащая файлы сертификатов доверенных SSL-Центров сертификации |
| --ssl-cert | Файл, содержащий X.509 сертификат |
| --ssl-cipher | Разрешённые шифры для шифрования соединения |
| --ssl-crl | Файл, содержащий списки отзыва сертификатов |
| --ssl-crlpath | Директория, содержащая файлы списков отзыва сертификатов |
| --ssl-fips-mode | Включить режим FIPS на стороне клиента |
| --ssl-key | Файл, содержащий X.509 ключ |
| --ssl-mode | Желаемое состояние безопасности соединения с сервером |
| --ssl-session-data | Файл, содержащий данные SSL сеанса |
| --ssl-session-data-continue-on-failed-reuse | Поддерживать соединения, если переиспользование сеанса завершится неудачно |
| --tls-ciphersuites | Разрешённые наборы шифров TLSv1.3 для зашифрованных соединений |
| --tls-sni-servername | Имя сервера, предоставленное клиентом |
| --tls-version | Разрешённые протоколы TLS для зашифрованных соединений |
| --use-default | Выполнить без взаимодействия с пользователем |
| --user | Имя пользователя MySQL для подключения к серверу |
END_OF_DOCUMENT_MARKER
-
--help,-?Формат командной строки --helpОтобразить сообщение справки и завершить работу.
-
--defaults-extra-file=file_nameФормат командной строки --defaults-extra-file=file_nameТип Имя файла Считывать этот файл параметров после глобального файла параметров, но (в Unix) перед файлом параметров пользователя. Если файл не существует или недоступен, возникает ошибка. Если
file_nameне является абсолютным путем, он интерпретируется относительно текущей директории.Для дополнительной информации об этом и других параметрах файла параметров, см. Раздел 6.2.2.3, «Параметры командной строки, влияющие на обработку файла параметров».
-
Формат командной строки --defaults-file=file_nameТип Имя файла Использовать только указанный файл параметров. Если файл не существует или недоступен, возникает ошибка. Если
file_nameне является абсолютным путем, он интерпретируется относительно текущей директории.Для дополнительной информации об этом и других параметрах файла параметров, см. Раздел 6.2.2.3, «Параметры командной строки, влияющие на обработку файла параметров».
-
Формат командной строки --defaults-group-suffix=strТип Строка Считывать не только обычные группы параметров, но также группы с обычными именами и суффиксом
str. Например, mysql_secure_installation обычно считывает группы[client]и[mysql_secure_installation]. Если этот параметр задан как--defaults-group-suffix=_other, mysql_secure_installation также считывает группы[client_other]и[mysql_secure_installation_other].Для дополнительной информации об этом и других параметрах файла параметров, см. Раздел 6.2.2.3, «Параметры командной строки, влияющие на обработку файла параметров».
-
--host=,host_name-hhost_nameФормат командной строки --hostПодключиться к серверу MySQL на указанном хосте.
-
Формат командной строки --no-defaultsНе считывать никакие файлы параметров. Если запуск программы терпит неудачу из-за считывания неизвестных параметров из файла параметров,
--no-defaultsможно использовать для предотвращения их считывания.Исключением является то, что файл
.mylogin.cnfсчитывается во всех случаях, если он существует. Это позволяет указывать пароли более безопасным способом, чем в командной строке, даже когда используется--no-defaults. Для создания.mylogin.cnfиспользуйте утилиту mysql_config_editor. См. Раздел 6.6.7, «mysql_config_editor — Утилита конфигурации MySQL».Для дополнительной информации об этом и других параметрах файла параметров, см. Раздел 6.2.2.3, «Параметры командной строки, влияющие на обработку файла параметров».
-
--password=,password-ppasswordФормат командной строки --password=passwordТип Строка Значение по умолчанию [none]Этот параметр принимается, но игнорируется. Используется ли этот параметр или нет, mysql_secure_installation всегда запрашивает пароль у пользователя.
-
--port=,port_num-Pport_numФормат командной строки --port=port_numТип Числовое Значение по умолчанию 3306Номер порта для TCP/IP соединений.
-
Формат командной строки --print-defaultsВывести имя программы и все параметры, полученные из файлов параметров.
Для дополнительной информации об этом и других параметрах файла параметров, см. Раздел 6.2.2.3, «Параметры командной строки, влияющие на обработку файла параметров».
-
--protocol={TCP|SOCKET|PIPE|MEMORY}Формат командной строки --protocol=typeТип Строка Значение по умолчанию [see text]Допустимые значения TCPSOCKETPIPEMEMORYТранспортный протокол для подключения к серверу. Полезно, когда другие параметры подключения обычно приводят к использованию протокола, отличного от того, который вам нужен. Для получения подробностей о допустимых значениях см. Раздел 6.2.7, «Протоколы транспортного соединения».
-
--socket=,path-SpathФормат командной строки --socket={file_name|pipe_name}Тип Строка Для соединений с
localhost, используемый файл Unix-соккета или, в Windows, имя именованной трубы.В Windows этот параметр применим только если сервер был запущен с включенным системным переменной
named_pipe, чтобы поддерживать соединения с использованием именованных труб. Кроме того, соединение должно быть членом группы Windows, указанной системной переменнойnamed_pipe_full_access_group. -
--ssl*Параметры, начинающиеся с
--ssl, определяют, нужно ли подключаться к серверу с использованием шифрования, и указывают, где найти ключи и сертификаты SSL. См. Параметры командной строки для шифрованных соединений.
-
--ssl-fips-mode={OFF|ON|STRICT}Формат командной строки --ssl-fips-mode={OFF|ON|STRICT}Устаревший Да Тип Перечисление Значение по умолчанию OFFДопустимые значения OFFONSTRICTУправляет включением режима FIPS на стороне клиента. Опция
--ssl-fips-modeотличается от других опций--ssl-тем, что она не используется для установления защищенных соединений, а скорее для управления разрешенными криптографическими операциями. Смотрите Раздел 8.8, «Поддержка FIPS».xxxРазрешены следующие значения
--ssl-fips-mode:OFF: Отключить режим FIPS.ON: Включить режим FIPS.STRICT: Включить “строгий” режим FIPS.
ПримечаниеЕсли модуль FIPS Object OpenSSL недоступен, единственное допустимое значение для
--ssl-fips-modeравноOFF. В этом случае установка--ssl-fips-modeвONилиSTRICTприводит к появлению предупреждения при запуске клиента и работе в режиме, отличном от FIPS.Эта опция устарела. Ожидается, что она будет удалена в будущих версиях MySQL.
-
--tls-ciphersuites=ciphersuite_listФормат командной строки --tls-ciphersuites=ciphersuite_listТип Строка Допустимые наборы шифров для защищенных соединений, использующих TLSv1.3. Значение представляет собой список одного или нескольких имён наборов шифров, разделенных двоеточием. Наборы шифров, которые могут быть указаны для этой опции, зависят от используемой библиотеки SSL при компиляции MySQL. Подробнее см. Раздел 8.3.2, «Защищенные соединения Протоколы и шифры TLS».
-
--tls-sni-servername=server_nameФормат командной строки --tls-sni-servername=server_nameТип Строка При указании имя передаётся в библиотеку API C
libmysqlclientс помощью опцииMYSQL_OPT_TLS_SNI_SERVERNAME. Имя сервера не чувствительно к регистру. Чтобы увидеть имя сервера, указанное клиентом для текущей сессии, если таковое имеется, проверьте переменную состоянияTls_sni_server_name.Server Name Indication (SNI) — это расширение протокола TLS (OpenSSL должен быть скомпилирован с расширениями TLS для работы этой опции). Реализация SNI в MySQL представляет только клиентскую сторону.
-
Формат командной строки --tls-version=protocol_listТип Строка Значение по умолчанию TLSv1,TLSv1.1,TLSv1.2,TLSv1.3(OpenSSL 1.1.1 или выше)TLSv1,TLSv1.1,TLSv1.2(в противном случае)Допустимые протоколы TLS для защищенных соединений. Значение представляет собой список одного или нескольких имён протоколов, разделённых запятыми. Протоколы, которые могут быть указаны для этой опции, зависят от используемой библиотеки SSL при компиляции MySQL. Подробнее см. Раздел 8.3.2, «Защищенные соединения Протоколы и шифры TLS».
-
Формат командной строки --use-defaultТип Булево Выполнить без взаимодействия. Эта опция может использоваться для автоматизированных операций установки.
-
--user=,user_name-uuser_nameФормат командной строки --user=user_nameТип Строка Имя пользователя учётной записи MySQL, используемой для подключения к серверу.
© 2025 Oracle
Licensed under the GPLv2 License.