如何在登录MySQL时查看用户帐户?

问题描述:

我想查看所有MySQL用户的名称。当我尝试谷歌这个问题与数据库中的用户最多results are all concerned,而不是MySQL用户。我检查了MySQL文档,但它非常冗长,并没有太多帮助。如何查看MySQL用户的帐户名称,更改权限并创建新用户?如何在登录MySQL时查看用户帐户?

+0

你就不能查询MySQL用户表? 'SELECT user FROM mysql.user' – McWayWeb 2015-04-03 21:08:43

+0

[How to get a list of MySQL user accounts](http://*.com/questions/1135245/how-to-get-a-list-of-mysql-用户帐户) – 2015-04-03 21:20:50

+0

@ nl-x还有人发现他的问题开始受到批评,他改变了问题,然后添加了自己的答案以适应新问题,这让人感到歇斯底里?如果他能在10分钟内回答自己的问题,为什么他甚至会提出这个问题呢? – McWayWeb 2015-04-03 21:38:14

通常很简单...以root身份登录,然后执行:

select * from mysql.user; 

而且如果你用Google搜索上mysql show users你会得到这是第一次打击。

此外,权利特定数据库中mysql.db保持和主机限制是mysql.host

执行下面的查询将提供你所有的MySQL用户:

SELECT user FROM mysql.user; 

您可能需要以管理员身份登录到执行上述查询。如果是这样的情况下,登录信息作为从终端管理通过使用下面的命令:

sudo mysql -p 

此外,还可以创建新用户如下:

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

create user 'tony'@'localhost'; 

根据您的项目范围,您需要为这个新用户提供各种权限。要做到这一点使用的语法如下:

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

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

仅显示用户和主机

SELECT User, Host FROM mysql.user 

显示用户和权限(漂亮的方式)

SELECT * FROM mysql.user\G; 

创建用户

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

授予权限(集)

​​

名单特权:

CREATE 
DROP 
GRANT OPTION 
LOCK TABLES 
REFERENCES 
EVENT 
ALTER 
DELETE 
INDEX 
INSERT 
SELECT 
UPDATE 
CREATE TEMPORARY TABLES 
TRIGGER 
CREATE VIEW 
SHOW VIEW 
ALTER ROUTINE 
CREATE ROUTINE 
EXECUTE 
FILE 
CREATE USER 
PROCESS 
RELOAD 
REPLICATION CLIENT 
REPLICATION SLAVE 
SHOW DATABASES 
SHUTDOWN 
SUPER 
ALL [PRIVILEGES] 
USAGE