mysql8关闭密码策略_mysql8参考⼿册--密码安全策略
最终⽤户密码安全准则
MySQL⽤户应使⽤以下准则来保护密码安全。
当您运⾏客户端程序以连接到MySQL服务器时,建议不要以其他⼈可以发现它的⽅式指定密码。此处列出了您在运⾏客户端程序时可以⽤来指定密码的⽅法,以及每种⽅法的风险评估。简⽽⾔之,最安全的⽅法是让客户端程序提⽰输⼊密码,或在经过适当保护的选项⽂件中指定密码。
使⽤mysql_config_editor实⽤程序,该实⽤程序使您可以将⾝份验证凭据存储在名为的加密登录路径⽂件中 .myloginf。稍
后,MySQL客户端程序可以读取该⽂件,以获得⽤于连接到MySQL Server的⾝份验证凭据。请参见 第4.6.7节“ mysql_config_editor -MySQL配置实⽤程序”。
在命令⾏上 使⽤ --password=password或-ppassword选项。例如:
shell>mysql -u francis -pfrank db_name
警告
这很⽅便,但是不安全。在某些系统上,密码对系统状态程序(例如ps)可见,其他⽤户可能会调⽤该密码来显⽰命令⾏。MySQL客户端通常在初始化序列期间⽤零覆盖命令⾏密码参数。但是,仍然有⼀个短暂的时间间隔,在该时间间隔内该值可见。同样,在某些系统上,这种覆盖策略⽆效,并且ps仍然可以看到密码。(SystemV Unix系统以及其他系统可能会遇到此问题。)
如果将您的操作环境设置为在终端窗⼝的标题栏中显⽰当前命令,则即使该命令在窗⼝内容区域中滚动到了视图之外,只要该命令正在运⾏,密码仍然保持可见。
在命令⾏上 使⽤--password或 -p选项,但未指定密码值。在这种情况下,客户端程序以交互⽅式请求密码:
shell> mysql -u francis -p db_name
Enter password: ********
该*字符显⽰在您输⼊密码。输⼊密码时不会显⽰。
这种⽅式输⼊的密码⽐在命令⾏上指定密码更安全,因为其他⽤户看不到该密码。但是,这种输⼊密码的⽅法仅适⽤于以交互⽅式运⾏的程序。如果要从⾮交互运⾏的脚本中调⽤客户端,则没有机会从键盘输⼊密码。在某些系统上,您甚⾄可能发现脚本的第⼀⾏被读取并(错误地)解释为您的密码。
将密码存储在选项⽂件中。例如,在Unix上,您可以在主⽬录中⽂件的[client]部分中 列出密码 .myf:
[client]
perpendicular bisector
password=password
为了确保密码安全,除了您⾃⼰之外,其他任何⼈都不能访问该⽂件。为此,请将⽂件访问模式设置为400或600。例如:
shell> chmod 600 .myf
要从命令⾏命名包含密码的特定选项⽂件,请使⽤ 选项,其中是⽂件的完整路径名。例如: --defaults-file=file_namefile_name
shell>mysql --defaults-file=/home/francis/mysql-opts
在Unix上,mysql客户端将已执⾏语句的记录写⼊历史⽂件(请参见 第4.5.1.3节“ mysql客户端⽇志”)。默认情况下,该⽂件被命名
.
mysql_history并在您的主⽬录中创建。密码可以在诸如CREATE USER 和的SQL语句中以纯⽂本形式编写ALTER USER,因此,如果使⽤这些语句,它们将记录在历史记录⽂件中。为确保此⽂件的安全,请使⽤限制性访问模式,与前⾯针对该.myf⽂件所述的⽅式相同。
mysql无法连接到服务器如果将命令解释器配置为保留历史记录,则保存命令的任何⽂件都将包含在命令⾏上输⼊的MySQL密码。例如, bash使⽤
~/.bash_history。任何此类⽂件都应具有限制性访问模式。
管理员密码安全准则html5怎么添加图片
数据库管理员应使⽤以下准则来保护密码的安全。
springmvc编码MySQL将⽤户帐户的密码存储在 mysql.user系统表中。切勿将任何⾮管理帐户授予对此表的访问权限。
帐户密码可以过期,以便⽤户必须重置它们。请参见第6.2.15节“密码管理”和 第6.2.16节“服务器处理过期密码”。
该validate_password插件可⽤于对可接受的密码实施策略。请参见 第6.4.3节“密码验证组件”。
有权修改插件⽬录(plugin_dir系统变量的值)或myf指定插件⽬录位置的⽂件的⽤户可以替换插件并修改插件提供的功能,包括⾝份验证插件。
应保护可能写⼊密码的⽂件(例如⽇志⽂件)。
c程序设计教程第5版课本
密码和登录
⼝令可以写在SQL语句,如纯⽂本 CREATE USER, GRANT和 SET PASSWORD。如果此类语句由MySQL服务器以书⾯形式记录,则其中的密码对于任何有权访问该⽇志的⼈都是可见的。
语句记录避免为以下语句将密码写为明⽂:
CREATE USER ... IDENTIFIED BY ...
ALTER USER ... IDENTIFIED BY ...
SET PASSWORD ...
SLAVE START ... PASSWORD = ...
CREATE SERVER ... OPTIONS(... PASSWORD ...)
ALTER SERVER ... OPTIONS(... PASSWORD ...)
这些语句中的密码将被重写,以使它们不会真正出现在写⼊常规查询⽇志,慢速查询⽇志和⼆进制⽇志的语句⽂本中。重写不适⽤于其他语句。具体⽽⾔, INSERT或 UPDATE对语句 mysql.user引⽤⽂字密码系统表中记录为是,那么你应该避免这样的语句。(⽆论如何,不建议直接修改授予表。)
对于常规查询⽇志,可以通过使⽤--log-raw选项启动服务器来抑制密码重写 。出于安全原因,不建议将此选项⽤于⽣产。出于诊断⽬的,查看服务器接收到的语句的确切⽂本可能会很有⽤。
默认情况下,审核⽇志插件⽣成的审核⽇志⽂件的内容未加密,并且可能包含敏感信息,例如SQL语句的⽂本。出于安全原因,应将审核⽇志⽂件写⼊只有MySQL服务器和有正当理由查看⽇志的⽤户才能访问的⽬录。请参见 第6.4.5.3节“ MySQL企业审核安全注意事项”。
如果安装了查询重写插件,则可以重写服务器接收到的语句(请参阅 查询重写插件)。在这种情况下,该 --log-raw选项将影响语句记录,如下所⽰:
如果不使⽤--log-raw,服务器将记录查询重写插件返回的语句。这可能与收到的声明有所不同。
使⽤--log-raw,服务器会将原始语句记录为已收到。
密码重写的含义是,⽆法解析的语句(例如由于语法错误)不会写⼊通⽤查询⽇志,因为⽆法知道它们没有密码。需要记录所有语句(包括错误语句)的⽤例应使⽤该 --log-raw选项,请牢记这也绕过了密码重写。
仅当需要纯⽂本密码时才进⾏密码重写。对于语法要求密码哈希值的语句,不会进⾏重写。如果错误地为该语法提供了纯⽂本密码,则密码将按照给定的⽅式记录,⽽⽆需重写。
为了防⽌⽇志⽂件遭受不必要的泄露,请在限制访问服务器和数据库管理员的⽬录中到它们。如果服务器登录到 mysql数据库中的表,则仅向数据库管理员授予对这些表的访问权限。
复制从属服务器将复制主服务器的密码存储在主服务器信息存储库中,该信息默认情况下是mysql数据库中名为 的表slave_master_info。现在不推荐使⽤数据⽬录中的主信息存储库⽂件,但仍然可以使⽤(请参见 第17.2.4节“复制中继和状态⽇志”)。确保仅数据库管理员可以访问主信息存储库。将密码存储在主信息存储库中的另⼀种⽅法是使⽤该START SLAVE语句指定⽤于连接主数据库的凭据。
使⽤受限访问模式可以保护包括⽇志表或包含密码的⽇志⽂件的数据库备份。
>尾组词2个字

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。