10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 下载本手册
PDF(美国Ltr)- 41.0 mb
PDF (A4)- 41.0 mb
PDF (RPM)- 39.4 mb
HTML下载(TGZ)- 9.3 mb
HTML下载(Zip)- 9.3 mb
HTML下载(RPM)- 7.9 mb
手册(TGZ)- 260.6 kb
手册(Zip)- 371.7 kb
信息(Gzip)- 3.9 mb
信息(邮政编码)- 3.9 mb
本手册节选

MySQL 8.0参考手册/.../ 添加帐户、分配权限和删除帐户

6.2.8增加帐户、分配权限、删除帐户

要管理MySQL帐户,请使用相应的SQL语句:

帐户管理语句导致服务器对底层授权表进行适当的修改,这些修改将在第6.2.3节“授予表格”

请注意

直接修改拨款表使用语句,如插入更新,或删除不鼓励,你自己承担风险。服务器可以随意忽略由于此类修改而变得畸形的行。

对于任何修改授权表的操作,服务器都会检查表是否具有预期的结构,如果没有则产生错误。要将表更新为预期的结构,请执行MySQL升级过程。看到第2.11节“升级MySQL”

创建帐户的另一个选择是使用GUI工具MySQL Workbench。另外,一些第三方程序提供MySQL帐户管理功能。phpMyAdmin就是这样一个程序。

本节讨论以下主题:

有关这里讨论的语句的更多信息,请参见第13.7.1节“帐户管理报表”

创建帐户和授予权限

的示例说明如何使用mysql建立新帐户的客户端程序。这些示例假设MySQL帐户具有创建用户权限及其授予其他帐户的所有权限。

在命令行,连接到服务器作为MySQL用户,在密码提示处提供适当的密码:

shell> -u root -p Enter password:(此处输入root密码)

连接到服务器后,您可以添加新的帐户。下面的示例使用创建用户而且格兰特设置四个帐户(在这里您可以看到密码,以合适的密码代替):

CREATE USER 'finley'@'localhost' IDENTIFIED BY '密码”;全体*上。*给'finley'@'localhost'授权选项;创建用户'finley'@'%.example.com' IDENTIFIED BY '密码”;全体*上。* 'finley'@'%.example.com' WITH GRANT OPTION;创建用户“admin”@“localhost”密码”;授权重新加载,在*上处理。@'localhost';CREATE USER 'dummy'@ localhost

由这些语句创建的帐户具有以下属性:

  • 两个帐户的用户名为芬利.两者都是超级用户帐户,拥有做任何事情的全部全局特权。的“芬利”@“localhost”Account只能在从本地连接时使用。的”芬利“@”% .example.com '帐户使用“%”通配符在主机部分,因此它可以用来连接从任何主机在example.com域。

    “芬利”@“localhost”帐户是必要的,如果有一个匿名用户帐户本地主机.没有“芬利”@“localhost”帐户,该匿名用户帐户优先芬利从本地主机连接芬利被视为匿名用户。这样做的原因是匿名用户帐户有一个更具体的宿主列的值。芬利的@‘%’Account和因此出现在用户表排序顺序。(如欲查询有关用户表排序,请参见第6.2.6节,“访问控制,第一阶段:连接验证”)。

  • “admin”@“localhost”帐户只能由管理从本地主机连接。它被授予了全球性重新加载而且过程管理权限。这些特权使管理用户来执行mysqladmin重载mysqladmin刷新,mysqladmin冲洗,xxx命令,以及mysqladmin processlist.不授予访问任何数据库的特权。您可以使用格兰特语句。

  • “假”@“localhost”帐号无密码(不安全,不推荐使用)。此帐户只能用于从本地主机连接。不授予任何特权。假定您将特定的特权授予正在使用的帐户格兰特语句。

前面的示例在全局级别授予特权。下一个示例创建三个帐户并授予它们较低级别的访问权限;也就是说,针对特定的数据库或数据库中的对象。每个帐户都有一个用户名自定义,但主机名部分不同:

创建用户'custom'@'localhost' IDENTIFIED BY '密码”;授予所有在银行帐户。* TO 'custom'@'localhost';创建用户'custom'@'host47.example.com' IDENTIFIED BY '密码”;授权选择,插入,更新,删除,创建,删除费用。* TO 'custom'@'host47.example.com';创建用户'custom'@'%.example.com' IDENTIFIED BY '密码”;授权客户选择,插入,更新,删除,创建,删除。地址到'custom'@'%.example.com';

这三个账号的使用方式如下:

  • “自定义”@“localhost”帐户具有访问的所有数据库级特权bankaccount数据库。该帐户只能从本地主机连接到服务器。

  • “自定义”@“host47.example.com”帐户具有特定的数据库级权限来访问费用数据库。该帐户只能在主机上连接服务器host47.example.com

  • “自定义”@“% .example.com '帐户具有特定的表级权限来访问地址表格客户数据库中的任意主机example.com域。帐户可用于从域中的所有计算机连接到服务器帐户名的主机部分中的通配符。

检查帐户权限和属性

要查看帐户的特权,请使用秀奖助金

mysql> SHOW grant FOR 'admin'@'localhost';+-----------------------------------------------------+ | 资助admin@localhost  | +-----------------------------------------------------+ | *格兰特重载、过程。*“admin”@ localhost ' | +-----------------------------------------------------+

要查看帐户的非特权属性,请使用显示创建用户

SET print_identified_with_as_hex = ON;mysql >显示创建用户'管理' @ ' localhost ' \ G  *************************** 1。row *************************** CREATE USER for admin@localhost: CREATE USER 'admin'@'localhost' IDENTIFIED WITH 'caching_sha2_password' AS 0x2441243030353524301d0e17054e2241362b1419313c3e44326f294133734b30792f436e77764270373039612e32445250786d43594f45354532324b6169794f47457852796e32 need NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT

使print_identified_with_as_hex系统变量(MySQL 8.0.17可用)的原因显示创建用户将包含不可打印字符的哈希值显示为十六进制字符串,而不是常规字符串字面量。

撤销帐户权限

要撤销帐户特权,请使用撤销声明。可以在不同级别撤销特权,正如可以在不同级别授予特权一样。

撤销全局权限:

撤销*上的所有。* FROM 'finley'@'%.example.com';撤销*上的重新加载。从'admin'@'localhost';

撤销数据库级特权:

撤销创建,降低费用。* FROM 'custom'@'host47.example.com';

撤销表级特权:

撤销对客户的插入、更新、删除。地址从'custom'@'%.example.com';

要检查特权撤销的效果,使用秀奖助金

mysql> SHOW grant FOR 'admin'@'localhost';+---------------------------------------------+ | 资助admin@localhost  | +---------------------------------------------+ | 格兰特过程*。*“admin”@ localhost ' | +---------------------------------------------+

删除账户

要删除帐户,请使用减少用户声明。例如,删除以前创建的一些帐户:

删除用户'finley'@'localhost';删除用户'finley'@'%.example.com';删除用户admin @ localhost删除用户'dummy'@'localhost'