在MySQL中,我們經(jīng)常需要為特定的用戶授權(quán)特定的權(quán)限。其中,授權(quán)管理員權(quán)限是最高權(quán)限,包括對數(shù)據(jù)庫、表、列、用戶、主機(jī)等進(jìn)行操作。下面是MySQL授權(quán)管理員權(quán)限的命令:
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
其中,GRANT ALL PRIVILEGES
表示授予所有權(quán)限;*.*
表示所有數(shù)據(jù)庫和所有表;admin
表示用戶名;localhost
表示主機(jī)名,如果需要遠(yuǎn)程授權(quán),則需要將其改為遠(yuǎn)程IP地址;IDENTIFIED BY 'password'
表示設(shè)置密碼;WITH GRANT OPTION
表示授予該用戶授權(quán)權(quán)限,即可以將其它用戶授權(quán)。
除了授權(quán)管理員權(quán)限,還可以授權(quán)特定的權(quán)限,例如只能查看某個(gè)表或庫。下面是授權(quán)查看權(quán)限的命令:
GRANT SELECT ON database_name.table_name TO 'user'@'localhost' IDENTIFIED BY 'password';
其中,GRANT SELECT
表示授予查看權(quán)限;database_name.table_name
表示特定的數(shù)據(jù)庫和表;user
表示用戶名;localhost
表示主機(jī)名,如果需要遠(yuǎn)程授權(quán),則需要將其改為遠(yuǎn)程IP地址;IDENTIFIED BY 'password'
表示設(shè)置密碼。
除了授權(quán),還可以撤銷權(quán)限。下面是撤銷權(quán)限的命令:
REVOKE ALL PRIVILEGES ON database_name.* FROM 'user'@'localhost';
其中,REVOKE ALL PRIVILEGES
表示撤銷所有權(quán)限;database_name.*
表示該數(shù)據(jù)庫下的所有表;user
表示用戶名;localhost
表示主機(jī)名,如果需要遠(yuǎn)程授權(quán),則需要將其改為遠(yuǎn)程IP地址。
總之,MySQL授權(quán)命令是管理數(shù)據(jù)庫的重要手段,我們需要根據(jù)實(shí)際需求進(jìn)行授權(quán)、撤銷權(quán)限。