10bet网址
MySQL 8.0参考手册
相关文件10bet官方网站 下载本手册 从本手册中摘录

6.2.1帐户用户名和密码

MySQL存储帐户用户表的表mysql.系统数据库。根据用户名和客户端主机或主机来定义一个帐户,用户可以从用户连接到服务器。有关帐户表示的信息用户表,参见第6.2.3节“授予表”

帐户还可以具有诸如密码的身份验证凭据。凭据由帐户身份验证插件处理。MySQL支持多个身份验证插件。其中一些使用内置身份验证方法,而其他人使用外部身份验证方法启用身份验证。看第6.2.17节,“可插拔身份验证”

MySQL和操作系统使用的用户名和密码之间有几种区别:

  • MySQL用于身份验证目的的用户名与Windows或Unix使用的用户名(登录名)无关。在Unix上,大多数MySQL客户端默认尝试使用当前的Unix用户名作为MySQL用户名进行登录,但这只是为了方便。可以很容易地重写默认值,因为客户端程序允许使用- u- 用户选项。这意味着任何人都可以尝试使用任何用户名连接到服务器,因此除非所有MySQL帐户都有密码,否则无法以任何方式制作数据库。任何指定没有密码的帐户的用户名可以成功连接到服务器的用户名。

  • MySQL用户名长达32个字符。操作系统用户名可能具有不同的最大长度。

    警告

    MySQL用户名长度限制是在MySQL服务器和客户机中硬编码的,并试图通过修改mysql.数据库不起作用

    你永远不应该改变表格的结构mysql.除了通过描述的过程之外的任何方式数据库第2.11节“升级mysql”.尝试以任何其他方式重新定义MySQL的系统表导致未定义和不受支持的行为。服务器可以自由地忽略由于此类修改而变坏的行。

  • 为使用内置身份验证方法的帐户验证客户端连接,服务器使用存储在用户表格这些密码与用于登录操作系统的密码不同。之间没有必要的联系外部的密码用于登录Windows或UNIX计算机以及用于访问该计算机上的MySQL Server的密码。

    如果服务器使用其他一些插件对客户端进行身份验证,则插件实现可能或可能不使用存储在中的密码的身份验证方法用户表格在这种情况下,也可能使用外部密码对MySQL服务器进行身份验证。

  • 存储在中的密码用户表是使用Plugin特定算法加密的。

  • 如果用户名和密码仅包含ASCII字符,则无论字符集设置如何,都可以连接到服务器。要启用连接用户名或密码包含非ASCII字符时,客户端应用程序应调用mysql_options()C API功能MYSQL_SET_CHARSET_NAME选项和适当的字符集名称为参数。这导致使用指定的字符集进行身份验证。否则,除非服务器默认字符集与身份验证默认值中的编码相同,否则身份验证失败。

    标准MySQL客户端计划支持--default字符集选项原因mysql_options()被称为刚才描述的。此外,如上所述支持字符集自动检测第10.4节,“连接字符集和排序规则”.对于使用不基于C API的连接器的程序,连接器可以提供相同的mysql_options()可以使用它。检查连接器文档。10bet官方网站

    前面的票据不适用UCS2UTF16., 和UTF32.,不允许作为客户端字符集。

mysql安装过程填充授权表如下所述第2.10.4节“确保初始MySQL帐户”,这也讨论了如何为其分配密码。此后,您通常使用诸如此类的语句设置,修改和删除MySQL帐户创建用户删除用户授予, 和撤销.看第6.2.8节“添加帐户,分配权限和丢弃帐户”, 和第13.7.1节“账户管理陈述”

要使用命令行客户端连接到MySQL服务器,请指定要使用的帐户所必需的用户名和密码选项:

mysql——user=finley——passworddb_name.

如果您喜欢短选项,则该命令如下所示:

shell> mysql -u finley -pdb_name.

如果您省略了以下密码值- 密码- p选项(如所示),客户机提示输入一个。或者,密码可以在命令行中指定:

shell> mysql -user = finley --password =密码db_name.shell> mysql -u finley -p密码db_name.

如果你使用- p选项,必须有没有空间之间- p和以下密码值。

在命令行上指定密码应该被认为是不安全的。看第6.1.2.1节,“最终用户密码安全指引”.为避免在命令行上提供密码,请使用选项文件或登录路径文件。看第4.2.2.2节“使用选项文件”。, 和第4.6.7节“mysql_config_editor - mysql配置实用程序”

有关指定用户名,密码和其他连接参数的其他信息,请参阅第4.2.4节“使用命令选项连接到MySQL服务器”