Grant命令
范例:
grant all on mysql.* to username@hostname identified by “pass” ;
grant usage on *.* tousername@hostname identified by “pass”;
grant select,insert,update on mydb.* to username@hostname identified by “pass”;
grant update,delete on mydb.TestTable to username@hostname identified by “pass”;
grant [权限] on [数据库] to [用户] identified by ["密码"] ;
权限
select , insert , update , delete , create , alter , drop
references , index
show view , create view , execute
all privileges (所有权限)
数据库格式
数据库名.表名 databasename.tablename
通配符 *.tablename databasenae.* *.*
用户
username
用户
用户名@hostname username@hostname
root@localhost username@192.168.1.1
密码 “pass” “root”
mysql授权表共有5个表:user、db、host、tables_priv和columns_priv。
授权表的内容有如下用途:
user表
user表列出可以连接服务器的用户及其口令,并且它指定他们有哪种全局(超级用户)权限。在user表启用的任何权限均是全局权限,并适用于所有数据库。例如,如果你启用了DELETE权限,在这里列出的用户可以从任何表中删除记录,所以在你这样做之前要认真考虑。
db表
db表列出数据库,而用户有权限访问它们。在这里指定的权限适用于一个数据库中的所有表。
host表
host表与db表结合使用在一个较好层次上控制特定主机对数据库的访问权限,这可能比单独使用db好些。这个表不受GRANT和REVOKE语句的影响,所以,你可能发觉你根本不是用它。
tables_priv表
tables_priv表指定表级权限,在这里指定的一个权限适用于一个表的所有列。
columns_priv表
columns_priv表指定列级权限。这里指定的权限适用于一个表的特定列。