登录MySQL后如何查看用户帐户?

How do I view user accounts when logged into MySQL?

我想看看MySQL所有用户的名字。 当我尝试谷歌这个问题时,大多数结果都与数据库中的用户有关,而不是MySQL用户。 我检查了MySQL文档,但它非常详细,并没有太多帮助。 如何查看MySQL用户的帐户名称,更改权限以及创建新用户?


通常非常简单...以root身份登录,并执行:

1
select * from mysql.user;

如果你在mysql show users上搜索,你会得到这个第一击。

此外,特定数据库的权限保存在mysql.db中,主机限制在mysql.host


仅显示用户和主机

1
SELECT User, Host FROM mysql.user

显示用户和权限(非常方式)

1
SELECT * FROM mysql.user\G;

创建用户

1
CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'mypass';

授予权限(设置)

1
2
3
4
5
6
7
8
--  Grant all privileges - Specific Database, all tables
GRANT ALL ON db1.* TO 'jeffrey'@'localhost';

-- Grant only SELECT privilege - Specific Database, specific table
GRANT SELECT ON db2.invoice TO 'jeffrey'@'localhost';

-- Grant USAGE privilege All databases, all tables
GRANT USAGE ON *.* TO 'jeffrey'@'localhost' WITH MAX_QUERIES_PER_HOUR 90;

特权清单:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30


如果您希望使用GUI来实现这一目的,那就是开始使用MySQL下载MySQL工作台。

https://www.mysql.com/products/workbench/

完成此操作后,启动应用程序并通过单击小+号并填写参数来添加新连接。

1
2
3
4
Defaults:
Hostname: 127.0.0.1 (if hosted on the machine you are running Workbench)
Username: root
Password: <blank> (if you set the root password enter that here)

单击测试连接并进行更改,直到连接成功并连接。

然后,您可以单击顶部的服务器下拉列表,然后选择"用户和权限"。这将为您提供一个非常简单的GUI来玩游戏并熟悉可用的选项。

可在此处找到一些其他文档:
https://dev.mysql.com/doc/workbench/en/wb-mysql-connections-navigator-management-users-and-privileges.html


执行以下查询将为您的所有MySQL用户提供:

您可能需要以管理员身份登录才能执行上述查询。如果是这种情况,请使用以下命令从终端以admin身份登录:

1
sudo mysql -p

此外,您还可以按如下方式创建新用户:

1
create user '<user name>'@'<host name>';

1
create user 'tony'@'localhost';

根据项目的范围,您需要为此新用户提供各种权限。为此,请使用以下语法:

1
grant <permission type> on <database name> to '<user name>'@'<host name>';

1
grant all on uncovery.* to 'tony'@'localhost';