Oracle和MySQL新增只有查询权限用户

 在实施银行等项目时,为了符合安全要求,必须提供一个只有查询权限的用户进行日常运维操作,防止权限过高有误操作现象发生。

一、新增Oracle数据库查询权限用户

-- 1、用有dba权限的用户连接上数据库
本例通过DbVisualizer工具进行如下操作;
-- 2、创建用户vlog
create user vlog identified by “blog";
-- 3、赋予用户连接权限
grant connect to vlog ;
-- 4、赋予用户查询权限(对所有表)
grant select any table to vlog;
-- 5、赋予用户查询权限(指定表)
grant select on 模式名.表名 to vlog;

拓展技巧:

-- 1、通过动态生成授权语句,将用户 MMP 的序列权限赋予用户 MMC:

select 
'grant select on ' || t.sequence_name || ' to  被授权的用户名(MMC); ' 
from sys.dba_sequences t where sequence_owner='MMP';

-- 2、通过动态生成授权语句,表授权:
select 
'grant select,insert,delete,update on ' || t.name || ' to 被授权的用户名;' 
from tab t where t.tabtype = 'TABLE'; 

二、新增MySQL数据库查询权限用户

-- 1、用有dba权限的用户连接上数据库
本例通过DbVisualizer工具进行如下操作; 
-- 2、创建用户vlog
create user 'vlog'@'%' identified by 'vblog';     
注:
1、如果上面命令执行失败,可尝试将第一个vlog前后的 ' 改为 `;
2、用户名@主机IP,表示能访问数据库的IP,‘%’ 表示所有IP能访问上数据库,否则无法远程访问。

-- 3、赋予用户vlog访问 mmc 库的权限
grant all privileges on `mmc`.* to 'vblog'@'%' with grant option;
-- 4、刷新权限
flush privileges;
-- 5、赋予用户查询权限
grant select on `库名`.* to 'vblog'@'%'; 

MySQL常用命令(转载):

1.查看用户查看MYSQL数据库中所有用户
mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

GRANT  select  ON  *.*  TO  'aaa'@'%'; 
2.删除用户
命令:DROP  USER 'user_name'@'host' 
例:
DROP USER 'aaa'@'%';

3.设置与更改用户密码
SET  PASSWORD  FOR  'username'@'host' = PASSWORD('newpassword'); 
如果是设置当前用户的密码:
SET  PASSWORD = PASSWORD('newpassword');

4.撤销用户权限:
命令:REVOKE   privileges   ON  database.tablename  FROM  'username'@'host';
例如:REVOKE  SELECT ON  *.*  FROM  'zje'@'%';

三、MySQL用户本地正常访问但远程无法访问(将本地用户更新为远程)
(转载:https://www.cnblogs.com/hyzhou/archive/2011/12/06/2278236.html):

方法一、本地登入mysql,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,将"localhost"改为"%"

1、登录数据库
#mysql -u root -proot
2、连接指定库
mysql>use mysql;
3、查询用户root将host变更为 '%'
mysql>update user set host = '%' where user = 'root';
4、验证更新结果
mysql>select host, user from user;

方法二、直接授权(推荐)
1、从任何主机上使用root用户,密码:youpassword(你的root密码)连接到mysql服务器:
# mysql -u root -proot 
2、授权
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
3、操作完后切记执行以下命令刷新权限 
FLUSH PRIVILEGES; 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值