资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
创建MySQL用户赋予某指定库表的权限文章分类:数据库updateERROR 1364 (HY000): Field ssl_cipher doesnt have a default val 建议使用 GRANTS句进行授权,语句如下:grant all privileges on *.* to root%identified byroot;GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROPON maildb.*TO maillocalhostIDENTIFIED by mailPASSWORD;创建 snort 数据库,创建snort 用户,将 snort 库所有表的所有权限赋予用户 snort 。mysql create database snort;Query OK, 1 row affected (0.06 sec)创建数据库mysql use mysql;进入 mysql 库mysql insert into user (Host,User,Password) values(localhost,snort,PASSWORD(112233445566);创建用户,设置初始密码mysql flush privileges;Query OK, 0 rows affected (0.00 sec) 使改动生效;注:如果不执行该指令,则无法正常执行后续指令。mysql grant all on snort.* to snortlocalhost ;Query OK, 0 rows affected (0.00 sec)将 snort 库的所有权限赋予 snort 用户mysql flush privileges;Query OK, 0 rows affected (0.00 sec)使改动生效mysql show grants for snortlocalhost;+| Grants forsnortlocalhost|+| GRANT USAGE ON *.* TO snortlocalhost IDENTIFIED BY PASSWORD1e6b29186dd45e97 | GRANT ALL PRIVILEGES ON snort.* TOsnortlocalhost|+2 rows in set (0.00 sec)MySQL赋予用户权限命令的简单格式可概括为:grant权限on数据库对象 to 用户一、 grant 普通数据用户,查询、插入、更新、删除数据库中所有表数据的权利。grant select on testdb.* to common_user%grant insert on testdb.* to common_user%grant update on testdb.* to common_user%grant delete on testdb.* to common_user%或者,用一条MySQL命令来替代:grant select, insert, update, delete on testdb.* to common_user%二、 grant 数据库开发人员,创建表、索引、视图、存储过程、函数。等权限。grant创建、修改、删除 MySQL数据表结权限。grant create on testdb.* to developer192.168.0.%;grant alter on testdb.* to developer192.168.0.%;grant drop on testdb.* to developer192.168.0.%;grant操作MySQL外键权限。grant references on testdb.* to developer192.168.0.%;grant操作MySQL临时表权限。grant create temporary tables on testdb.* to developer192.168.0.%;grant 操 作MySQL索引权限。grant index on testdb.* to developer192.168.0.%;grant操作MySQL视图、查看视图源代码权限。grant create view on testdb.* to developer192.168.0.%;grant show view on testdb.* to developer192.168.0.%;grant操作MySQL存储过程、函数权限。grant create routine on testdb.* to developer192.168.0.%; - now,can show procedure statusgrant alter routine on testdb.* to developer192.168.0.%; - now,you can drop a proceduregrant executeon testdb.* to developer192.168.0.%;三、grant普通DBA管理某个MySQL数据库的权限。grant all privileges on testdb to dbalocalhost其中,关键字“ privileges 可以省略。 ”四、grant高级DBA管理MySQL中所有数据库的权限。grant all on *.* to dbalocalhost五、MySQL grant权限,分别可以作用在多个层次上。1. grant作用在整个MySQL服务器上:grant select on *.* to dbalocalhost;- dba 可以查询 MySQL中所有数据库中 的表。grant all on *.* to dbalocalhost;- dba 可以管理 MySQL中的所有数据库2. grant 作用在单个数据库上:grant select on testdb.* to dbalocalhost;- dba 可以查询 testdb 中的表。3. grant 作用在单个数据表上:grantselect,insert,update,deleteontestdb.orderstodbalocalhost;4. grant 作用在表中的列上:grant select(id, se, rank) on testdb.apache_log to dbalocalhost;5. grant 作用在存储过程、函数上:grant execute on procedure testdb.pr_add to dbalocalhostgrant execute on function testdb.fn_add to dbalocalhost六、查看MySQL用户权限查看当前用户(自己)权限:show grants;查看其他MySQL用户权限:show grants for dbalocalhost;七、撤销已经赋予给 MySQL用户权限的权限。revoke 跟 grant 的语法差不多,只需要把关键字 “ to ”换成 “ from ”即可:grant all on *.* to dbalocalhost;revoke all on *.* from dbalocalhost;八、MySQL gran、t revoke 用户权限注意事项1 .grant,revoke用户权限后,该用户只有重新连接MySQL数据库,权限才能生效。2 .如果想让授权的用户,也可以将这些权限grant 给其他用户,需要选项“ grant option “grant select on testdb.* to dbalocalhost with grant option; 这个特性一般用不到。实际中,数据库权限最好由 DBA来统一管理。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号