当前位置:首页 » 版权产权 » mysql查询所有权限

mysql查询所有权限

发布时间: 2020-12-25 03:31:55

⑴ mysql查询该用户有哪些权限

MySQL各种权限(共27个) (以下操作都是以root身份登陆进行grant授权,以p1@localhost身份登陆执行各回种命令。) 1. usage 连接(登陆)答权限,建立一个用户,就会自动授予其usage权限(默认授予)。 mysql> grant usage on *.* to ‘p1′@’localho...

⑵ mysql如何查询某个数据库都有哪些用户具有哪些操作权限

mysql有个库叫做mysql,里面有张表叫做db,这张表就有你需要的内容。

⑶ mysql 语句如何以查询的权限执行

为这个用户赋予只读权限:grant select on *.* to user1 identified by 'pwd';
--------------------------------------------
呵呵,放轻松,一切专都会好起来属的!

⑷ MySQL的权限有哪些

MySQL的权限有哪些

  • 一.权限表


  • mysql数据库中的3个权限表:user 、db、 host


  • 权限表的存取过程是:


  • 1)先从user表中的host、 user、 password这3个字段中判断连接的IP、用户名、密码是否存在表中,存在则通过身份验证;


  • 2)通过权限验证,进行权限分配时,按照useràdbàtables_privàcolumns_priv的顺序进行分配。即先检查全局权限表user,如果user中对应的权限为Y,则此用户对所有数据库的权限都为Y,将不再检查db, tables_priv,columns_priv;如果为N,则到db表中检查此用户对应的具体数据库,并得到db中为Y的权限;如果db中为N,则检查tables_priv中此数据库对应的具体表,取得表中的权限Y,以此类推。


  • 二.MySQL各种权限(共27个)


  • (以下操作都是以root身份登陆进行grant授权,以p1@localhost身份登陆执行各种命令。)


  • 1. usage


  • 连接(登陆)权限,建立一个用户,就会自动授予其usage权限(默认授予)。


  • mysql> grant usage on *.* to ‘p1′@’localhost’ identified by ‘123′;


  • 该权限只能用于数据库登陆,不能执行任何操作;且usage权限不能被回收,也即REVOKE用户并不能删除用户。


  • 2. select


  • 必须有select的权限,才可以使用select table


  • mysql> grant select on pyt.* to ‘p1′@’localhost’;


  • mysql> select * from shop;


  • 3. create


  • 必须有create的权限,才可以使用create table


  • mysql> grant create on pyt.* to ‘p1′@’localhost’;


  • 4. create routine


  • 必须具有create routine的权限,才可以使用{create |alter|drop} {procere|function}


  • mysql> grant create routine on pyt.* to ‘p1′@’localhost’;


  • 当授予create routine时,自动授予EXECUTE, ALTER ROUTINE权限给它的创建者:


  • mysql> show grants for ‘p1′@’localhost’;


  • +—————————————————————————+


  • Grants for p1@localhost


  • +————————————————————————–+


  • | GRANT USAGE ON *.* TO ‘p1′@’localhost’ IDENTIFIED BY PASSWORD ‘*′ |


  • | GRANT SELECT, CREATE, CREATE ROUTINE ON `pyt`.* TO ‘p1′@’localhost’|


  • | GRANT EXECUTE, ALTER ROUTINE ON PROCEDURE `pyt`.`pro_shop1` TO ‘p1′@’localhost’ |


  • +————————————————————————————-+


  • 5. create temporary tables(注意这里是tables,不是table)


  • 必须有create temporary tables的权限,才可以使用create temporary tables.


  • mysql> grant create temporary tables on pyt.* to ‘p1′@’localhost’;


  • [mysql@mydev ~]$ mysql -h localhost -u p1 -p pyt


  • mysql> create temporary table tt1(id int);


  • 6. create view


  • 必须有create view的权限,才可以使用create view


  • mysql> grant create view on pyt.* to ‘p1′@’localhost’;


  • mysql> create view v_shop as select price from shop;


  • 7. create user


  • 要使用CREATE USER,必须拥有mysql数据库的全局CREATE USER权限,或拥有INSERT权限。


  • mysql> grant create user on *.* to ‘p1′@’localhost’;


  • 或:mysql> grant insert on *.* to p1@localhost;


  • 8. insert


  • 必须有insert的权限,才可以使用insert into ….. values….


  • 9. alter


  • 必须有alter的权限,才可以使用alter table


  • alter table shop modify dealer char(15);


  • 10. alter routine


  • 必须具有alter routine的权限,才可以使用{alter |drop} {procere|function}


  • mysql>grant alter routine on pyt.* to ‘p1′@’ localhost ‘;


  • mysql> drop procere pro_shop;


  • Query OK, 0 rows affected (0.00 sec)


  • mysql> revoke alter routine on pyt.* from ‘p1′@’localhost’;


  • [mysql@mydev ~]$ mysql -h localhost -u p1 -p pyt


  • mysql> drop procere pro_shop;


  • ERROR 1370 (42000): alter routine command denied to user ‘p1′@’localhost’ for routine ‘pyt.pro_shop’


  • 11. update


  • 必须有update的权限,才可以使用update table


  • mysql> update shop set price=3.5 where article=0001 and dealer=’A';


  • 12. delete


  • 必须有delete的权限,才可以使用delete from ….where….(删除表中的记录)


  • 13. drop


  • 必须有drop的权限,才可以使用drop database db_name; drop table tab_name;


  • drop view vi_name; drop index in_name;


  • 14. show database


  • 通过show database只能看到你拥有的某些权限的数据库,除非你拥有全局SHOW DATABASES权限。


  • 对于p1@localhost用户来说,没有对mysql数据库的权限,所以以此身份登陆查询时,无法看到mysql数据库:


  • mysql> show databases;


  • +——————–+


  • | Database |


  • +——————–+


  • | information_schema|


  • | pyt |


  • | test |


  • +——————–+


  • 15. show view


  • 必须拥有show view权限,才能执行show create view。


  • mysql> grant show view on pyt.* to p1@localhost;


  • mysql> show create view v_shop;


  • 16. index


  • 必须拥有index权限,才能执行[create |drop] index


  • mysql> grant index on pyt.* to p1@localhost;


  • mysql> create index ix_shop on shop(article);


  • mysql> drop index ix_shop on shop;


  • 17. excute


  • 执行存在的Functions,Proceres


  • mysql> call pro_shop1(0001,@a);


  • +———+


  • | article |


  • +———+


  • | 0001 |


  • | 0001 |


  • +———+


  • mysql> select @a;


  • +——+


  • | @a |


  • +——+


  • | 2 |


  • +——+


  • 18. lock tables


  • 必须拥有lock tables权限,才可以使用lock tables


  • mysql> grant lock tables on pyt.* to p1@localhost;


  • mysql> lock tables a1 read;


  • mysql> unlock tables;


  • 19. references


  • 有了REFERENCES权限,用户就可以将其它表的一个字段作为某一个表的外键约束。


  • 20. reload


  • 必须拥有reload权限,才可以执行flush [tables | logs | privileges]


  • mysql> grant reload on pyt.* to p1@localhost;


  • ERROR 1221 (HY000): Incorrect usage of DB GRANT and GLOBAL PRIVILEGES


  • mysql> grant reload on *.* to ‘p1′@’localhost’;


  • Query OK, 0 rows affected (0.00 sec)


  • mysql> flush tables;


  • 21. replication client


  • 拥有此权限可以查询master server、slave server状态。


  • mysql> show master status;


  • ERROR 1227 (42000): Access denied; you need the SUPER,REPLICATION CLIENT privilege for this operation


  • mysql> grant Replication client on *.* to p1@localhost;


  • 或:mysql> grant super on *.* to p1@localhost;


  • mysql> show master status;


  • +——————+———-+————–+——————+


  • | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |


  • +——————+———-+————–+——————+


  • | mysql-bin.000006 | 2111 | | |


  • +——————+———-+————–+——————+


  • mysql> show slave status;


  • 22. replication slave


  • 拥有此权限可以查看从服务器,从主服务器读取二进制日志。


  • mysql> show slave hosts;


  • ERROR 1227 (42000): Access denied; you need the REPLICATION SLAVE privilege for this operation


  • mysql> show binlog events;


  • ERROR 1227 (42000): Access denied; you need the REPLICATION SLAVE privilege for this operation


  • mysql> grant replication slave on *.* to p1@localhost;


  • mysql> show slave hosts;


  • Empty set (0.00 sec)


  • mysql>show binlog events;


  • +—————+——-+—————-+———–+————-+————–+


  • | Log_name | Pos | Event_type | Server_id| End_log_pos|Info | +—————+——-+————–+———–+————-+—————+


  • | mysql-bin.000005 | 4 | Format_desc | 1 | 98 | Server ver: 5.0.77-log, Binlog ver: 4 | |mysql-bin.000005|98|Query|1|197|use `mysql`; create table a1(i int)engine=myisam|


  • ……………………………………


  • 23. Shutdown


  • 关闭MySQL:


  • [mysql@mydev ~]$ mysqladmin shutdown


  • 重新连接:


  • [mysql@mydev ~]$ mysql


  • ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)


  • [mysql@mydev ~]$ cd /u01/mysql/bin


  • [mysql@mydev bin]$ ./mysqld_safe &


  • [mysql@mydev bin]$ mysql


  • 24. grant option


  • 拥有grant option,就可以将自己拥有的权限授予其他用户(仅限于自己已经拥有的权限)


  • mysql> grant Grant option on pyt.* to p1@localhost;


  • mysql> grant select on pyt.* to p2@localhost;


  • 25. file


  • 拥有file权限才可以执行 select ..into outfile和load data infile…操作,但是不要把file, process, super权限授予管理员以外的账号,这样存在严重的安全隐患。


  • mysql> grant file on *.* to p1@localhost;


  • mysql> load data infile ‘/home/mysql/pet.txt’ into table pet;


  • 26. super


  • 这个权限允许用户终止任何查询;修改全局变量的SET语句;使用CHANGE MASTER,PURGE MASTER LOGS。


  • mysql> grant super on *.* to p1@localhost;


  • mysql> purge master logs before ‘mysql-bin.000006′;


  • 27. process


  • 通过这个权限,用户可以执行SHOW PROCESSLIST和KILL命令。默认情况下,每个用户都可以执行SHOW PROCESSLIST命令,但是只能查询本用户的进程。


  • mysql> show processlist;


  • +—-+——+———–+——+———+——+——-+——————+


  • | Id | User | Host | db | Command | Time | State | Info |


  • +—-+——+———–+——+———+——+——-+——————+


  • | 12 | p1 | localhost | pyt | Query | 0 | NULL | show processlist |


  • +—-+——+———–+——+———+——+——-+——————+


  • 另外,


  • 管理权限(如 super, process, file等)不能够指定某个数据库,on后面必须跟*.*


  • mysql> grant super on pyt.* to p1@localhost;


  • ERROR 1221 (HY000): Incorrect usage of DB GRANT and GLOBAL PRIVILEGES


  • mysql> grant super on *.* to p1@localhost;


  • Query OK, 0 rows affected (0.01 sec)

⑸ mysql怎么查看用户权限

如果需要查看MySQL用户权限,应该如何实现呢?下面就为您介绍查看MySQL用户权限的方法,并对授予MySQL用户权限的语句进行介绍,供您参考。
查看MySQL用户权限:
show grants for 你的用户
比如:
show grants for root@'localhost';
Grant 用法
GRANT USAGE ON *.* TO 'discuz'@'localhost' IDENTIFIED BY PASSWORD '*';
GRANT ALL PRIVILEGES ON `discuz`.* TO 'discuz'@'localhost';
我先按我的理解解释一下上面两句的意思
建立一个只可以在本地登陆的 不能操作的用用户名 discuz 密码为 ***** 已经加密了的
然后第二句的意思是 ,给这个discuz用户操作discuz数据库的所有权
使用GRANT
GRANT命令用来建立新用户,指定用户口令并增加用户权限。其格式如下:
mysql> GRANT <privileges> ON <what>
-> TO <user> [IDENTIFIED BY "<password>"]
-> [WITH GRANT OPTION];
正如你看到的,在这个命令中有许多待填的内容。让我们逐一地对它们进行介绍,并最终给出一些例子以让你对它们的协同工作有一个了解。
<privileges>是一个用逗号分隔的你想要赋予的MySQL用户权限的列表。你可以指定的权限可以分为三种类型:
数据库/数据表/数据列权限: Alter: 修改已存在的数据表(例如增加/删除列)和索引。
Create: 建立新的数据库或数据表。
Delete: 删除表的记录。
Drop: 删除数据表或数据库。
INDEX: 建立或删除索引。
Insert: 增加表的记录。
Select: 显示/搜索表的记录。
Update: 修改表中已存在的记录。
全局管理MySQL用户权限:
file: 在MySQL服务器上读写文件。
PROCESS: 显示或杀死属于其它用户的服务线程。
RELOAD: 重载访问控制表,刷新日志等。
SHUTDOWN: 关闭MySQL服务。
特别的权限:
ALL: 允许做任何事(和root一样)。
USAGE: 只允许登录--其它什么也不允许做。

⑹ 教您如何查看MySQL用户权限

查看MySQL用户权限:
show grants for 你的用户比如:
show grants for root@'localhost';Grant 用法GRANT USAGE ON *.* TO 'discuz'@'localhost' IDENTIFIED BY PASSWORD '*';
GRANT ALL PRIVILEGES ON `discuz`.* TO 'discuz'@'localhost';
我先按我的理解解释一下上面两句的意思
建立一个只可以在本地登陆的 不能操作的用用户名 discuz 密码为 ***** 已经加密了的
然后第二句的意思是 ,给这个discuz用户操作discuz数据库的所有权限使用GRANTGRANT命令用来建立新用户,指定用户口令并增加用户权限。其格式如下:
mysql GRANT <privileges ON <what
- TO <user [IDENTIFIED BY <password]
- [WITH GRANT OPTION];
正如你看到的源码天空
,在这个命令中有许多待填的内容。让我们逐一地对它们进行介绍,并最终给出一些例子以让你对它们的协同工作有一个了解。
<privileges是一个用逗号分隔的你想要赋予的MySQL用户权限的列表。你可以指定的权限可以分为三种类型:
数据库/数据表/数据列权限: Alter: 修改已存在的数据表(例如增加/删除列)和索引。
Create: 建立新的数据库或数据表。
Delete: 删除表的记录。
Drop: 删除数据表或数据库。
INDEX: 建立或删除索引。
Insert: 增加表的记录。
Select: 显示/搜索表的记录。
Update: 修改表中已存在的记录。
全局管理MySQL用户权限:
file: 在MySQL服务器上读写文件。
PROCESS: 显示或杀死属于其它用户的服务线程。
RELOAD: 重载访问控制表,刷新日志等。
SHUTDOWN: 关闭MySQL服务。
特别的权限:
ALL: 允许做任何事(和root一样)。

⑺ MySQL的权限有哪些

mysql常用的权限:复
CREATE 数据库、表制或索引创建权限
DROP 数据库或表删除权限
GRANT OPTION 数据库、表或保存的程序权限
REFERENCES 数据库或表
ALTER 更改表,比如添加字段、索引等
DELETE 删除数据权限
INDEX 索引权限
INSERT 插入权限
SELECT 查询权限
UPDATE 更新权限
CREATE VIEW 视图,创建视图权限
SHOW VIEW 视图,视图权限
ALTER ROUTINE 存储过程,更改存储过程权限
CREATE ROUTINE 存储过程,创建存储过程权限
EXECUTE 存储过程,执行存储过程权限

⑻ MySQL的权限有哪些

mysql常用的权限:
CREATE 数据库、表或索引创建权限专
DROP 数据库或表删除权限
GRANT OPTION 数据库、表或保存的程序属权限
REFERENCES 数据库或表
ALTER 更改表,比如添加字段、索引等
DELETE 删除数据权限
INDEX 索引权限
INSERT 插入权限
SELECT 查询权限
UPDATE 更新权限
CREATE VIEW 视图,创建视图权限
SHOW VIEW 视图,视图权限
ALTER ROUTINE 存储过程,更改存储过程权限
CREATE ROUTINE 存储过程,创建存储过程权限
EXECUTE 存储过程,执行存储过程权限

⑼ 如何mysql用户只有查询权限

MySQL中所有使用者的权限是记录在mysql这个数据库的users资料表中
所以你只要先use mysql
再SELECT * FROM users 你可以看到所有的使用者权限
有关db的数据是记录在Db(大小写要注意)这个数据表中
所以只要呼叫出Db的资料 SELECT * FROM Db 就可以看到你要的答案
或者你可以用 SELECT * FROM Db WHERE Db='phplampDB'找出你要的答案

⑽ MySQL的权限有哪些

不知道你问的什么意思,mysql中用户的权如下:
Select_priv。确定用户是否可以通过SELECT命令选择数据。
Insert_priv。确定用户是否可以通过INSERT命令插入数据。
Update_priv。确定用户是否可以通过UPDATE命令修改现有数据。
Delete_priv。确定用户是否可以通过DELETE命令删除现有数据。
Create_priv。确定用户是否可以创建新的数据库和表。
Drop_priv。确定用户是否可以删除现有数据库和表。
Reload_priv。确定用户是否可以执行刷新和重新加载MySQL所用各种内部缓存的特定命令,包括日志、权限、主机、查询和表。
Shutdown_priv。确定用户是否可以关闭MySQL服务器。在将此权限提供给root账户之外的任何用户时,都应当非常谨慎。
Process_priv。确定用户是否可以通过SHOW
PROCESSLIST命令查看其他用户的进程。
File_priv。确定用户是否可以执行SELECT INTO OUTFILE和LOAD DATA
INFILE命令。
Grant_priv。确定用户是否可以将已经授予给该用户自己的权限再授予其他用户。例如,如果用户可以插入、选择和删除foo数据库中的信息,并且授予了GRANT权限,则该用户就可以将其任何或全部权限授予系统中的任何其他用户。
References_priv。目前只是某些未来功能的占位符;现在没有作用。
Index_priv。确定用户是否可以创建和删除表索引。
Alter_priv。确定用户是否可以重命名和修改表结构。
Show_db_priv。确定用户是否可以查看服务器上所有数据库的名字,包括用户拥有足够访问权限的数据库。可以考虑对所有用户禁用这个权限,除非有特别不可抗拒的原因。
Super_priv。确定用户是否可以执行某些强大的管理功能,例如通过KILL命令删除用户进程,使用SET
GLOBAL修改全局MySQL变量,执行关于复制和日志的各种命令。
Create_tmp_table_priv。确定用户是否可以创建临时表。
Lock_tables_priv。确定用户是否可以使用LOCK
TABLES命令阻止对表的访问/修改。
Execute_priv。确定用户是否可以执行存储过程。此权限只在MySQL
5.0及更高版本中有意义。
Repl_slave_priv。确定用户是否可以读取用于维护复制数据库环境的二进制日志文件。此用户位于主系统中,有利于主机和客户机之间的通信。
Repl_client_priv。确定用户是否可以确定复制从服务器和主服务器的位置。
Create_view_priv。确定用户是否可以创建视图。此权限只在MySQL
5.0及更高版本中有意义。关于视图的更多信息,参见第34章。
Show_view_priv。确定用户是否可以查看视图或了解视图如何执行。此权限只在MySQL
5.0及更高版本中有意义。关于视图的更多信息,参见第34章。
Create_routine_priv。确定用户是否可以更改或放弃存储过程和函数。此权限是在MySQL
5.0中引入的。
Alter_routine_priv。确定用户是否可以修改或删除存储函数及函数。此权限是在MySQL
5.0中引入的。
Create_user_priv。确定用户是否可以执行CREATE
USER命令,这个命令用于创建新的MySQL账户。
Event_priv。确定用户能否创建、修改和删除事件。这个权限是MySQL
5.1.6新增的。
Trigger_priv。确定用户能否创建和删除触发器,这个权限是MySQL 5.1.6新增的。

热点内容
美发店认证 发布:2021-03-16 21:43:38 浏览:443
物业纠纷原因 发布:2021-03-16 21:42:46 浏览:474
全国著名不孕不育医院 发布:2021-03-16 21:42:24 浏览:679
知名明星确诊 发布:2021-03-16 21:42:04 浏览:14
ipad大专有用吗 发布:2021-03-16 21:40:58 浏览:670
公务员协议班值得吗 发布:2021-03-16 21:40:00 浏览:21
知名书店品牌 发布:2021-03-16 21:39:09 浏览:949
q雷授权码在哪里买 发布:2021-03-16 21:38:44 浏览:852
图书天猫转让 发布:2021-03-16 21:38:26 浏览:707
宝宝水杯品牌 发布:2021-03-16 21:35:56 浏览:837