第 2 部分:创建新用户
第 2 部分:创建新用户第 1 部分中,我们学习了如何使用 Navicat Premium 用户管理工具保护 MySQL 的 root 帐号。本篇文章将集中介绍如何设置新用户的帐号详细信息、帐号限制和 SSL 设置。
“常规”选项卡
点击对象工具栏上的“新建用户”按钮将打开无标题的用户选项卡。它包含五个选项卡,分别为“常规”、“高级”、“服务器权限”、“权限”和“SQL 预览”。我们已在第 1 部分中介绍了“常规”选项卡,但我们将在此快速回顾一下。在“常规”选项卡上,我们需要提供:
- “用户名”。
- 数据库“主机”。
- 加密“插件”。从下拉列表中选择“mysql_native_password”或“sha256_password”。
- “密码”。
- “密码过期策略”。
设置密码策略
MySQL 允许数据库管理员手动设置帐号密码过期,并使用 MySQL mysql_native_password 或 sha256_password 内置身份验证插件建立自动密码过期的策略。
Navicat 通过下拉列表提供几个选项,摘要了使用 PASSWORD EXPIRE 语句设置密码到期的常用 MySQL 机制。他们是:
- DEFAULT:将密码过期时间长度设置为数据库的默认值。在版本 5.7.11 之前,默认值为 360 天。从版本 5.7.11 开始,默认值为 0 天,这能有效地禁用自动密码过期。
- IMMEDIATE:使帐号密码过期,从而强制用户更新它。
- INTERVAL:指定当前密码过期的天数。
- NEVER:允许当前密码无限期保持有效状态。对脚本和其他自动化过程很有用。
这是一个例子:
“高级”选项卡
你可以在此处找到帐号限制和 SSL 的设置。
帐号限制
MySQL 允许限制个人帐号使用各种服务器资源,以避免任何一个用户独占资源。限制包括:
- 一个帐号每小时可以发出的查询数。
- 一个帐号每小时可以发出的更新数。
- 一个帐号每小时可以连接到服务器的次数。
- 一个帐号可连接到服务器的总数。
这些等同于高级选项卡中的字段:“每小时最大查询数”、“每小时最大更新数”、“每小时最大连接数”和“最大用户连接数”。这些字段每一个都接受零(0)或正整数的值。
SSL 设置
要使用加密连接,系统中必须有 OpenSSL 或 yaSSL。此外,MySQL 服务器需要使用 TLS 支持构建,并正确配置为使用 OpenSSL 或 yaSSL 的其中一个。请注意,术语 SSL,指的是在 TLS 之前的现在不安全的旧协议。尽管 MySQL 仅使用其更安全(TLS)的后继协议,但出于兼容性原因仍在许多变量名和选项中使用。
“SSL 类型”下拉字段映射到 mysql.user 表的 ssl_type 列,该列仅接受某些值:ANY、SPECIFIED 和 X509(以及 '' 表示 NONE)。
此外,MySQL GRANT 语句还接受 ISSUER、SUBJECT 和 CIPHER 选项。这些选项可以按任何顺序组合在一起,而且如果你使用它们中的任何一个,则 REQUIRE X509 是隐式的。
这是一个 GRANT 语句,紧接着等效的 Navicat“高级”选项卡:
GRANT USAGE ON *.* TO 'bob_s'@'localhost'
REQUIRE SUBJECT '/CN=www.mydom.com/O=My Dom, Inc./C=US/ST=Oregon/L=Portland'
AND ISSUER '/C=FI/ST=Somewhere/L=City/ O=Some Company/CN=Peter Parker/emailAddress=该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。'
AND CIPHER 'SHA-DES-CBC3-EDH-RSA';
预告
在第 3 部分中,我们将继续讨论最后三个用户选项卡。