本节介绍如何创建用户帐户。它演示了配置密码到期策略,使用安全相关创建用户
选项,授予用户权限和验证用户权限和身份验证。
创建了两个用户帐户:User1.
和user2.
。这User1.
帐户定义为具有需要加密连接的SSL / TLS选项。这user2.
帐户在没有SSL / TLS选项的情况下定义(不需要
)因此它可以用于通过未加密的连接与服务器展示基于RSA密钥对的密码交换。
定义全局自动密码到期策略。在以下步骤中创建的用户帐户使用由此定义的策略
default_password_lifetime.
系统变量。默认设置为0,禁用自动密码到期。要使密码自动以全局定义的间隔自动过期,例如每120天,添加与此类似的条目[mysqld]
Option组在MySQL配置文件中(/etc/my.cnf.
):default_password_lifetime = 120.
重新启动服务器以应用配置更改:
shell> systemctl重新启动mysqld
以root身份登录。
shell> cd / usr / local / mysql shell> bin / mysql -u root -p输入密码:(在此处输入root密码)
创建用户帐户。以下语句创建名为的用户帐户
'user1'@'
和203.0.113.11.
''user1'@'
, 在哪里203.0.113.12.
203.0.113.11.
和203.0.113.12.
是客户端主机的IP地址。该语句包括用于启用身份验证的安全相关选项,定义SSL / TSL要求,限制服务器资源使用情况和管理密码到期。mysql>创建用户'user1'@'203.0.113.11.'用Sha256_password识别'密码'要求x509使用max_user_connections 3密码过期默认值;
mysql>创建用户'user2'@'203.0.113.12.'用Sha256_password识别'密码'需要none使用max_user_connections 3密码到期默认值;
创建用户
声明选项:用'sha256_password识别'
密码
'将帐户身份验证插件设置为
SHA256_PASSWORD.
,通过CLEARTEXT密码
哈希的插件值,并存储结果mysql.user.
帐户行。笔记这
密码
指定的值必须符合由此启用的密码策略validate_password.
插入。密码策略要求密码长度为至少8个字符,包含至少1个数字字符,1个小写字符,1个大写字符和1个特殊(nonalphanumeric)字符。看第6章,安装MySQL密码验证插件。有关更多信息,请参阅创建用户身份验证选项。
要求X509.
此SSL / TLS选项仅用于该选项
User1.
帐户。除了基于用户名和凭据的常规身份验证之外,MySQL还可以检查X509证书属性。可用的SSL / TSL选项包括
SSL.
那X509.
那发行人
那主题
, 和密码
。这创建用户
陈述User1.
用来X509.
选项,要求客户提供有效证书,而是确切的证书,发行人和主题无关紧要。唯一的要求是,应该可以使用其中一个CA证书验证其签名。用于X509.
证书始终暗示加密,因此不需要指定SSL.
选项。有关更多信息,请参阅创建用户SSL / TLS选项。
不需要
表示账户没有
TLS.
或者X509.
要求。如果用户名和密码有效,则允许未加密的连接。如果客户端具有正确的证书和密钥文件,则可以在客户端使用,在客户端中使用加密连接。没有任何
默认情况下是否没有SSL相关的要求
指定选项。有关更多信息,请参阅创建用户SSL / TLS选项。
max_user_connections 3.
限制帐户的最大同时连接数。如果数字为0(默认值),则服务器确定从全局值的帐户的同时连接的数量
max_user_connections.
系统变量。max_user_connections 3.
意味着该帐户最多可以与服务器的3个同时连接。这里不使用的其他资源限制选项包括
max_queries_per_hour.
那max_updates_per_hour.
, 和max_connections_per_hour.
。有关更多信息,请参阅创建用户资源限制选项。密码过期默认值
应用由此定义的全局自动密码过期策略
default_password_lifetime.
系统变量。在较早的一步中,default_password_lifetime.
设置为120,以便密码自动过期每120天。其他密码过期选项包括
密码过期
那密码过期间隔
, 和密码从不到期
。有关更多信息,请参阅创建用户密码管理选项。
授予用户权限。以下陈述授予
显示数据库
特权到User1.
和user2.
账户:mysql> grant显示数据库*。*到'user1'@'203.0.113.11';
mysql> grant显示数据库*。*到'user2'@'203.0.113.12';
有关授予权限的更多信息,请参阅授予声明。
要验证向用户帐户授予的权限,请发出a
展示补助金
陈述。例如:mysql>显示'user1''203.0.113.11'的补助金;+ ------------------------------------------------------------------------ + |USER1GRANTS @ 2011.113.11 |+ ------------------------------------------------------------------------ + |Grant Show数据库*。*到'user1'@'203.0.113.11'|+ ---------------------------------------------------------------------------
要验证帐户是否使用了预期的身份验证插件,请发出此查询:
MySQL>选择用户,从MySQL.User中的插件,其中用户('用户%')\ g ***************************** 1。行***************************用户:USER1插件:SHA256_PASSWORD *************************** 2.行***************************用户:USER2插件:SHA256_PASSWORD