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服务器的密码。

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

  • 密码储存于用户表使用插件特定的算法进行加密。

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

    标准的MySQL客户端程序支持——default-character-set选项,原因mysql_options ()就像刚才描述的那样。此外,还支持字符集自动检测第10.4节“连接字符集和校集”。对于使用非基于C API的连接器的程序,连接器可能提供等价于mysql_options ()可以用它来代替。请查看连接器文档。10bet官方网站

    以上说明不适用于此ucs2,utf16,utf32,不允许作为客户端字符集。

MySQL安装过程用一个初始值填充授权表描述,如第2.10.4节,“保护初始MySQL帐户”,其中还讨论了如何为它分配密码。此后,通常使用如下语句设置、修改和删除MySQL帐户创建用户,减少用户,格兰特,撤销。看到第6.2.8节,“添加帐户、分配特权和删除帐户”,第13.7.1节,“帐户管理报表”

使用命令行客户端连接MySQL服务器,根据需要为你想使用的帐户指定用户名和密码选项:

shell> mysql -user = finley --passworddb_name

如果你喜欢短选项,命令是这样的:

Shell > mysql -u finley -pdb_name

的后面省略密码值——密码或者-P.在命令行上的选项(如图所示),客户端提示一个。或者,可以在命令行上指定密码:

mysql——user=finley——password=密码db_nameShell > mysql -u finley -p密码db_name

如果你使用-P.选择,必须有没有空间之间的-P.和下面的密码值。

在命令行上指定密码应被视为不安全。看到第6.1.2.1节“密码安全的最终用户指南”。要避免在命令行上给出密码,请使用选项文件或登录路径文件。看到第4.2.2.2节,“使用选项文件”,mysql_config_editor - MySQL配置实用程序

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