導航:首頁 > 程序命令 > mysql查看許可權的命令

mysql查看許可權的命令

發布時間:2023-02-01 03:48:17

1. MySQL的許可權有哪些

1. usage
連接(登陸)許可權,建立一個用戶,就會自動授予其usage許可權(默認授予)。
該許可權只能用於資料庫登陸,不能執行任何操作;且usage許可權不能被回收,也即REVOKE用戶並不能刪除用戶。
2. select
必須有select的許可權,才可以使用select table
3. create
必須有create的許可權,才可以使用create table
4. create routine
必須具有create routine的許可權,才可以使用{create |alter|drop} {procere|function}
當授予create routine時,自動授予EXECUTE, ALTER ROUTINE許可權給它的創建者:
5. create temporary tables(注意這里是tables,不是table)
必須有create temporary tables的許可權,才可以使用create temporary tables.
6. create view
必須有create view的許可權,才可以使用create view
7. create user
要使用CREATE USER,必須擁有mysql資料庫的全局CREATE USER許可權,或擁有INSERT許可權。
8. insert
必須有insert的許可權,才可以使用insert into ….. values….
9. alter
必須有alter的許可權,才可以使用alter table
10. alter routine
必須具有alter routine的許可權,才可以使用{alter |drop} {procere|function}
11. update
必須有update的許可權,才可以使用update table
12. delete
必須有delete的許可權,才可以使用delete from ….where….(刪除表中的記錄)
13. drop
必須有drop的許可權,才可以使用drop database db_name; drop table tab_name;
14. show database
通過show database只能看到你擁有的某些許可權的資料庫,除非你擁有全局SHOW DATABASES許可權。
對於p1@localhost用戶來說,沒有對mysql資料庫的許可權,所以以此身份登陸查詢時,無法看到mysql資料庫:
15. show view
必須擁有show view許可權,才能執行show create view。
16. index
必須擁有index許可權,才能執行[create |drop] index
17. excute
執行存在的Functions,Proceres
18. lock tables
必須擁有lock tables許可權,才可以使用lock tables
19. references
有了REFERENCES許可權,用戶就可以將其它表的一個欄位作為某一個表的外鍵約束。
20. reload
必須擁有reload許可權,才可以執行flush [tables | logs | privileges]
21. replication client
擁有此許可權可以查詢master server、slave server狀態。
22. replication slave
擁有此許可權可以查看從伺服器,從主伺服器讀取二進制日誌。
23. Shutdown
關閉MySQL
24. grant option
擁有grant option,就可以將自己擁有的許可權授予其他用戶(僅限於自己已經擁有的許可權)
25. file
擁有file許可權才可以執行 select ..into outfile和load data infile…操作,但是不要把file, process, super許可權授予管理員以外的賬號,這樣存在嚴重的安全隱患。
26. super
這個許可權允許用戶終止任何查詢;修改全局變數的SET語句;使用CHANGE MASTER,PURGE MASTER LOGS。
27. process
通過這個許可權,用戶可以執行SHOW PROCESSLIST和KILL命令。默認情況下,每個用戶都可以執行SHOW PROCESSLIST命令,但是只能查詢本用戶的進程。
另外,
管理許可權(如 super, process, file等)不能夠指定某個資料庫,on後面必須跟*.*

2. 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新增的。

3. 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@localho

4. 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)

5. MySQL:grant 語法詳解(MySQL5.X)

本文實例,運行於MySQL5.0
及以上版本。
MySQL
賦予用戶許可權命令的簡單格式可概括為:
grant
許可權on
資料庫對象to
用戶
一、grant
普通數據用戶,查詢、插入、更新、刪除資料庫中所有表數據的權利。
grant
select
on
testdb.*
to
common_user@'%'
grant
insert
on
testdb.*
to
common_user@'%'
grant
update
on
testdb.*
to
common_user@'%'
grant
delete
on
testdb.*
to
common_user@'%'
或者,用一條MySQL
命令來替代:
grant
select,
insert,
update,
delete
on
testdb.*
to
common_user@'%'
二、grant
資料庫開發人員,創建表、索引、視圖、存儲過程、函數。。。等許可權。
grant
創建、修改、刪除MySQL
數據表結構許可權。
grant
create
on
testdb.*
to
developer@'192.168.0.%';
grant
alter
on
testdb.*
to
developer@'192.168.0.%';
grant
drop
on
testdb.*
to
developer@'192.168.0.%';
grant
操作MySQL
外鍵許可權。
grant
references
on
testdb.*
to
developer@'192.168.0.%';
grant
操作MySQL
臨時表許可權。
grant
create
temporary
tables
on
testdb.*
to
developer@'192.168.0.%';
grant
操作MySQL
索引許可權。
grant
index
on
testdb.*
to
developer@'192.168.0.%';
grant
操作MySQL
視圖、查看視圖源代碼許可權。
grant
create
view
on
testdb.*
to
developer@'192.168.0.%';
grant
show
view
on
testdb.*
to
developer@'192.168.0.%';
grant
操作MySQL
存儲過程、函數許可權。
grant
create
routine
on
testdb.*
to
developer@'192.168.0.%';
--
now,
can
show
procere
status
grant
alter
routine
on
testdb.*
to
developer@'192.168.0.%';
--
now,
you
can
drop
a
procere
grant
execute
on
testdb.*
to
developer@'192.168.0.%';
三、grant
普通DBA
管理某個MySQL
資料庫的許可權。
grant
all
privileges
on
testdb
to
dba@'localhost'
其中,關鍵字“privileges”
可以省略。
四、grant
高級DBA
管理MySQL
中所有資料庫的許可權。
grant
all
on
*.*
to
dba@'localhost'
五、MySQLgrant
許可權,分別可以作用在多個層次上。
1.
grant
作用在整個MySQL
伺服器上:
grant
select
on
*.*
to
dba@localhost;
--
dba
可以查詢MySQL
中所有資料庫中的表。
grant
all
on
*.*
to
dba@localhost;
--
dba
可以管理MySQL
中的所有資料庫
2.
grant
作用在單個資料庫上:
grant
select
on
testdb.*
to
dba@localhost;
--
dba
可以查詢testdb
中的表。
3.
grant
作用在單個數據表上:
grant
select,
insert,
update,
delete
on
testdb.orders
to
dba@localhost;
4.
grant
作用在表中的列上:
grant
select(id,
se,
rank)
on
testdb.apache_log
to
dba@localhost;
5.
grant
作用在存儲過程、函數上:
grant
execute
on
procere
testdb.pr_add
to
'dba'@'localhost'
grant
execute
on
function
testdb.fn_add
to
'dba'@'localhost'
六、查看MySQL
用戶許可權
查看當前用戶(自己)許可權:
show
grants;
查看其他MySQL
用戶許可權:
show
grants
for
dba@localhost;
七、撤銷已經賦予給MySQL
用戶許可權的許可權。
revoke
跟grant
的語法差不多,只需要把關鍵字“to”
換成“from”
即可:
grant
all
on
*.*
to
dba@localhost;
revoke
all
on
*.*
from
dba@localhost;
八、MySQLgrant、revoke
用戶許可權注意事項
1.
grant,
revoke
用戶許可權後,該用戶只有重新連接MySQL
資料庫,許可權才能生效。
2.
如果想讓授權的用戶,也可以將這些許可權grant
給其他用戶,需要選項“grant
option“
grant
select
on
testdb.*
to
dba@localhost
with
grant
option;

這個特性一般用不到。實際中,資料庫許可權最好由DBA
來統一管理。

6. 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: 只允許登錄--其它什麼也不允許做。

7. sqlyog 查看 mysql 是否有遠程訪問許可權

1、改表法。

可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 "mysql" 資料庫里的 "user" 表裡的 "host" 項,從"localhost"改稱"%"
mysql -u root -pvmwaremysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
2、授權法。例如,你想myuser使用mypassword從任何主機連接到mysql伺服器的話。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WI
TH GRANT OPTION;
如果你想允許用戶myuser從ip為192.168.1.6的主機連接到mysql伺服器,並使用mypassword作為密碼
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY
'mypassword' WITH GRANT OPTION;
我用的第一個方法,剛開始發現不行,在網上查了一下,少執行一個語句 mysql>FLUSH RIVILEGES
使修改生效,就可以了

另外一種方法:

在安裝mysql的機器上運行:
1、d:\mysql\bin\>mysql -h localhost -u root
//這樣應該可以進入MySQL伺服器
2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION
//賦予任何主機訪問數據的許可權
3、mysql>FLUSH PRIVILEGES
//修改生效
4、mysql>EXIT
//退出MySQL伺服器
這樣就可以在其它任何的主機上以root身份登錄啦。

8. mysql查詢該用戶有哪些許可權

MySQL各種許可權(共27個) (以下操作都是以root身份登陸進行grant授權,以p1@localhost身份登陸執行各種命令。) 1. usage 連接(登陸)許可權,建立一個用戶,就會自動授予其usage許可權(默認授予)。 mysql> grant usage on *.* to 『p1′@』localho...

9. mysql 查看用戶許可權 show grants for bacchus;

mysql 查看用戶許可權 show grants for bacchus;

MySQL命令行創建用戶與授權

http://blog.csdn.net/justdb/article/details/7964319

10. 教您如何查看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查看許可權的命令相關的資料

熱點內容
51單片機晶振電容 瀏覽:636
編譯器錯誤的位置怎麼找到 瀏覽:434
編譯原理操作系統圖形學 瀏覽:843
安卓怎麼玩華為 瀏覽:249
情人節網站源碼 瀏覽:305
設備管理命令行 瀏覽:726
吃哺乳期的電影 瀏覽:190
把加密zip變成文件夾 瀏覽:213
linuxrecv阻塞 瀏覽:46
java模擬cookie 瀏覽:175
主角變身女收女的變百小說 瀏覽:758
粉筆教育app從哪裡看做過的題 瀏覽:391
app數據包在哪裡找到 瀏覽:923
百煉成仙綠帽改編1-11 瀏覽:109
女主和一對雙胞胎兄弟 瀏覽:437
刀劍神域小說TXT 瀏覽:1000
php獲取文件地址 瀏覽:578
linuxsed替換字元 瀏覽:413
如何填寫國家反詐中心app注冊使用 瀏覽:792
日本影視網站 瀏覽:933