mysql怎么查询表权限 mysql查看权限语句

linux mysql 如何查看用户对某个表格的权限?可以查询show的哦,这个能够看到相关的权限的,
能看一下wo的网名吗?以后要是有mysql的问题的话, 也都可以帮助搞定的哦
mysql如何查询某个数据库都有哪些用户具有哪些操作权限???mysql中所有使用者的权限是记录在mysql这个数据库的users资料表中
所以你只要先use
mysql
再select
*
from
users
你可以看到所有的使用者权限
有关db的数据是记录在db(大小写要注意)这个数据表中
所以只要呼叫出db的资料
select
*
from
db
就可以看到你要的答案
或者你可以用
select
*
from
db
where
db='phplampdb'找出你要的答案
MySQL中如何得到权限信息如果mysql怎么查询表权限你想查看单个用户mysql怎么查询表权限的权限,你可以mysql怎么查询表权限:
show grants for 'usernan,me'@'host';
或者去mysql库中DB表中查看所有mysql怎么查询表权限的权限
mysql怎么查看用户权限如果需要查看MySQL用户权限,应该如何实现呢?下面就为您介绍查看MySQL用户权限的方法 , 并对授予MySQL用户权限的语句进行介绍,供您参考 。
查看MySQL用户权限:
show grants for 你的用户
比如:
show grants for root@'localhost';
Grant 用法
GRANT USAGE ON *.* TO 'discuz'@'localhost' IDENTIFIED BY PASSWORD '*C242DDD213BE9C6F8DA28D49245BF69FC79A86EB';
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数据库中的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} {procedure|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 ‘*23AE809DDACAF96AF0FD78ED04B6A265E05AA257′ |
| 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} {procedure|function}
mysqlgrant alter routine on pyt.* to ‘p1′@’ localhost ‘;
mysql drop procedure 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 procedure 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@localho
linux mysql 如何用户对某个表格的权限?对用户授权grant语句语法:
grant privileges (columns)
onwhat
toaccount
2.举例子:
grant all on zabbix.* to'zabbix'@'localhost给予'zabbix'@'localhost'管理zabbix这个数据库的全部权限 。
grantselecton zabbix.tmpto 'saladin'@'localhost'给予'saladin'@'localhost'查询检索数据库zabbix里的tmp表格的权限 。
grantselect,update,delete (name,id) on zabbix.tmp to 'saladin'@'localhost'给予'saladin'@'localhost'检索更新删除表格tmp里 name和 id两个数据列的权限 。
【mysql怎么查询表权限 mysql查看权限语句】mysql怎么查询表权限的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于mysql查看权限语句、mysql怎么查询表权限的信息别忘了在本站进行查找喔 。

    推荐阅读