MySQL用户权限设置
2013-04-16 14:04
435 查看
1、grant的基本的语法格式为:grant 权限 on 数据库对象 to 用户
grant [-option 操作权限] on [-database 数据库].[-table 表] to [-user 操作用户]@"[操作用户IP]" [-set password]
option 操作权限:
1、select #操作用户仅有选择操作权限
2、insert #操作用户仅有插入数据权限
3、update #操作用户仅有更新数据权限
4、delete #操作用户仅有删除数据权限
5、create #操作用户仅有 执行create权限
6、alter #操作用户仅有 执行alter权限
7、drop #操作用户仅有 执行drop权限
8、references #操作用户仅有 执行外键权限
9、index #操作用户仅有 执行索引权限
10、execute #操作用户仅有 执行存储过程、函数权限
也可以执行多个权限:
grant select, insert, update, delete on testdb.* to common_user@'%'
2、查看数据库权限
2.1 查看当前用户权限
show grants
2.2 查看其他mysql用户权限
show grants for username@dohost
3、辙销用户权限
revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可:
grant all on *.* to dba@localhost;
revoke all on *.* from dba@localhost;
基于安全考虑root账户一般只能本地访问,但是在开发过程中可能需要打开root的远程访问权限。下面是基本的步骤:
1、登录到mysql中,为root进行远程访问的授权,执行下面的命令:
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";
mysql> flush privileges;
第一句中"%"表示任何主机都可以远程登录到该服务器上访问。如果要限制只有某台机器可以访问,将其换成相应的IP即可,如:
GRANT ALL PRIVILEGES ON *.* TO root@"172.168.193.25" IDENTIFIED BY "root";
第二句表示从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。
grant [-option 操作权限] on [-database 数据库].[-table 表] to [-user 操作用户]@"[操作用户IP]" [-set password]
option 操作权限:
1、select #操作用户仅有选择操作权限
2、insert #操作用户仅有插入数据权限
3、update #操作用户仅有更新数据权限
4、delete #操作用户仅有删除数据权限
5、create #操作用户仅有 执行create权限
6、alter #操作用户仅有 执行alter权限
7、drop #操作用户仅有 执行drop权限
8、references #操作用户仅有 执行外键权限
9、index #操作用户仅有 执行索引权限
10、execute #操作用户仅有 执行存储过程、函数权限
也可以执行多个权限:
grant select, insert, update, delete on testdb.* to common_user@'%'
2、查看数据库权限
2.1 查看当前用户权限
show grants
2.2 查看其他mysql用户权限
show grants for username@dohost
3、辙销用户权限
revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可:
grant all on *.* to dba@localhost;
revoke all on *.* from dba@localhost;
基于安全考虑root账户一般只能本地访问,但是在开发过程中可能需要打开root的远程访问权限。下面是基本的步骤:
1、登录到mysql中,为root进行远程访问的授权,执行下面的命令:
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";
mysql> flush privileges;
第一句中"%"表示任何主机都可以远程登录到该服务器上访问。如果要限制只有某台机器可以访问,将其换成相应的IP即可,如:
GRANT ALL PRIVILEGES ON *.* TO root@"172.168.193.25" IDENTIFIED BY "root";
第二句表示从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。
相关文章推荐
- mysql 用户管理和权限设置
- MySql用户权限设置
- mysql 用户管理和权限设置(转)
- mysql 用户管理和权限设置
- mysql 用户管理和权限设置
- [置顶] mysql设置用户权限
- MySQL 用户规划及权限设置
- MySQL中导出用户权限设置的脚本分享
- MySQL中导出用户权限设置的脚本分享
- mysql 用户管理和权限设置
- mysql用户密码修改,用户添加、删除、设置权限及源文件恢复数据库
- mysql 用户管理和权限设置
- Mysql用户密码设置修改和权限分配
- Linux下Mysql增加用户,设置用户权限及修改密码的方法
- [置顶] mysql设置用户权限
- mysql 用户管理和权限设置
- mysql 用户管理和权限设置(总是忘记,重新记录)
- MySQL用户权限设置方法
- mysql用户权限设置
- mysql 用户管理和权限设置