Mysql secure installation:修订间差异
(创建页面,内容为“:这个程序可以提升MySQL安装时的安全。 :它有以下功能: #可以为root账户设置密码。 #可以删除拥有外网访问权限的root账户。 #可以删除匿名的账户。 #可以删除test库。 :mysql_secure_installation会帮助实现推荐的安全设置。其中的密码评估组件可以帮助检查密码强度。如果该插件未被安装,则mysql_secure_installation会提示用户是否需要安装。如果该插件生效…”) |
无编辑摘要 |
||
第1行: | 第1行: | ||
这个程序可以通过以下方式提高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帐户的用户名。 |
2023年7月5日 (三) 02:24的最新版本
这个程序可以通过以下方式提高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帐户的用户名。