Mysql secure installation

来自泡泡学习笔记
跳到导航 跳到搜索

这个程序可以通过以下方式提高MySQL安装的安全性:

  • 您可以为root账户设置密码。
  • 您可以删除可以从本地主机以外访问的root账户。
  • 您可以删除匿名用户账户。
  • 您可以删除测试数据库(默认情况下所有用户,甚至匿名用户都可以访问该数据库),以及允许任何人访问以test_开头的数据库的权限。


正常使用方法是连接到本地MySQL服务器;在没有参数的情况下调用mysql_secure_installation命令:

mysql_secure_installation


执行时,mysql_secure_installation会提示您确定要执行哪些操作。


validate_password组件可用于检查密码强度。如果未安装该插件,mysql_secure_installation会提示用户是否安装。后续输入的任何密码将使用插件进行检查,如果插件启用。


大多数常用的MySQL客户端选项,例如--host和--port,可以在命令行和选项文件中使用。例如,要使用端口3307通过IPv6连接到本地服务器,请使用以下命令:

mysql_secure_installation --host=::1 --port=3307


mysql_secure_installation支持以下选项,可以在命令行或选项文件的[mysql_secure_installation]和[client]组中指定。


  • --help, -?

显示帮助信息并退出。


  • --defaults-extra-file=file_name

在全局选项文件之后但(在Unix上)用户选项文件之前读取此选项文件。如果文件不存在或无法访问,将出现错误。如果file_name不是绝对路径名,则相对于当前目录解释它。


  • --defaults-file=file_name

仅使用给定的选项文件。如果文件不存在或无法访问,将出现错误。如果file_name不是绝对路径名,则相对于当前目录解释它。


  • --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]组。


  • --host=host_name,-h host_name

连接到给定主机上的MySQL服务器。


  • --no-defaults

不要读取任何选项文件。如果由于从选项文件中读取未知选项导致程序启动失败,则可以使用--no-defaults来防止读取这些选项。


但.mylogin.cnf文件在所有情况下都会被读取,如果存在的话。这使得可以以比命令行更安全的方式指定密码,即使使用--no-defaults也是如此。要创建.mylogin.cnf,请使用mysql_config_editor实用程序。


  • --password=password,-p password

接受此选项,但忽略它。无论是否使用此选项,mysql_secure_installation始终提示用户输入密码。


  • --port=port_num,-P port_num

对于TCP/IP连接,要使用的端口号。


  • --print-defaults

打印程序名称以及从选项文件中获取的所有选项。


  • --protocol={TCP|SOCKET|PIPE|MEMORY}

用于连接到服务器的传输协议。当其他连接参数通常会导致使用不希望的协议时,这将非常有用。


  • --socket=path, -S path

对于连接到本地主机,用于使用的Unix套接字文件,或者在Windows上,用于使用的命名管道的名称。


在Windows上,只有在服务器启动时启用了named_pipe系统变量以支持命名管道连接时,此选项才适用。此外,连接必须是由named_pipe_full_access_group系统变量指定的Windows组的成员。


  • --ssl*

以--ssl开头的选项指定是否使用加密连接,并指示找到SSL密钥和证书的位置。请参阅加密连接的命令选项。


  • --ssl-fips-mode={OFF|ON|STRICT}

控制是否在客户端上启用FIPS模式。--ssl-fips-mode选项与其他--ssl-xxx选项不同,它不用于建立加密连接,而是影响要允许的加密操作。


允许使用的--ssl-fips-mode值如下:

OFF:禁用FIPS模式。

ON:启用FIPS模式。

STRICT:启用“严格”FIPS模式。
注意
如果未安装OpenSSL FIPS对象模块,则--ssl-fips-mode的唯一允许值为OFF。在这种情况下,将--ssl-fips-mode设置为ON或STRICT会导致客户端在启动时产生警告,并以非FIPS模式运行。

截至MySQL 8.0.34,此选项已被弃用。预计在将来的MySQL版本中将其移除。


  • --tls-ciphersuites=ciphersuite_list

用于使用TLSv1.3的加密连接的允许密码套件。该值是一个由一个或多个以冒号分隔的密码套件名称组成的列表。可以为此选项命名的密码套件取决于用于编译MySQL的SSL库。

此选项在MySQL 8.0.16中添加。


  • --tls-version=protocol_list

用于加密连接的允许TLS协议。该值是一个由一个或多个以逗号分隔的协议名称组成的列表。可以为此选项命名的协议取决于用于编译MySQL的SSL库。


  • --use-default

无交互地执行。此选项可用于无人值守的安装操作。


  • --user=user_name, -u user_name

用于连接到服务器的MySQL帐户的用户名。