mysql
授权数据库
命令的模板语句(只有root用户下才能使用的)
GRANT All PRIVILEGES ON databasename.tablename TO 'username'@'%';
- 备注:
- all是代表所有权限(增删查改),根据需求这里可以改成(select, insert, update,delete)
- databasename 是数据库名,tablename 是表名,databasename.tablename是数据库下的表,具体使用是“数据库名.数据库下的某个表名”
- username 是需要授权的用户名,%是指代在所有的ip地址段(默认不写ip就是无ip地址限制),根据需求需要限制则可以把%改成对应的ip地址,ip地址可以是详细的一个ip地址(192.168.1.1),也可以是ip段(192.168.1.%)
- 语句中只有username一定要指定填写的,诸如databasename.tablename可以指定某个数据库下的某个表,也可以指定某个数据库下的所有表(exp:databasename.)或者所有数据库下的所有表(exp:.*)
例句
存在kwt这个用户(默认远程访问密码为此用户登陆密码):
GRANT All PRIVILEGES ON fmt.* TO 'kwt'@'%';
如果需要设定一个新的远程访问密码(与mysql登陆密码共存)则后续接identified by '密码':
GRANT All PRIVILEGES ON fmt.* TO 'kwt'@'%' identified by 'admin';
授其可同等授予其他账号同等权限则后续接 WITH GRANT OPTION:
GRANT All PRIVILEGES ON fmt.* TO 'kwt'@'%' WITH GRANT OPTION;
取消授权数据库
命令的模板语句(只有root用户下才能使用的)
REVOKE All ON databasename.tablename TO 'username'@'%';
- 备注:
- 与授权的语句基本相似,去掉了"PRIVILEGES"
表格总结下
GRANT/revoke | All/select, insert, update,delete | databasename.tablename(*可为所有) | username | % |
---|---|---|---|---|
授权/取消授权 | 所有权限/查增改删 | 库名.表名 | 用户名 | IP地址/地址段 |
网友评论