MySQL中的grant語法用于授予用戶特定的數據庫權限。在MySQL中,用戶賬戶的權限有很多,包括SELECT、INSERT、UPDATE、DELETE、CREATE、DROP等等。
GRANT privilege_type ON database_name.table_name TO 'user_name'@'host_name' IDENTIFIED BY 'user_password';
這個語法可以授權給指定的用戶,只擁有特定的數據庫權限。下面是具體的語法解釋:
- privilege_type: 權限類型,可以是SELECT、INSERT、UPDATE、DELETE、CREATE、DROP等等。
- database_name.table_name: 數據庫名和表名,可以使用*通配符代替。
- user_name@host_name: 用戶名和主機名,可以使用%通配符代替。
- user_password: 用戶密碼。
例如,如果我們要授權給一個用戶只能對mydb數據庫中的t1表執行SELECT操作,可以使用如下的語句:
GRANT SELECT ON mydb.t1 TO 'user1'@'localhost' IDENTIFIED BY 'password1';
如果我們要授權給一個用戶可以對所有數據庫執行SELECT操作,可以使用如下的語句:
GRANT SELECT ON *.* TO 'user1'@'%' IDENTIFIED BY 'password1';