在DBA岗位实习快两个月,感触颇多~~~以前自己玩数据库的时候的那些小打小闹,现在想想都汗颜。下面说说我在DBA这个岗位有关安全方面的体会。
1.细心,仔细。我觉得这两点是必须的,尤其是有线上操作的时候,有一个误操作都有可能造成不可弥补的损失。比如说有次我远程拉取数据,结果有个备份脚本刚执行完,修改了文件的用户和组,结果我这边数据拉取失败了。然后我就修改用户和组,结果不小心进错了目录,修改了线上正在运行的数据库的文件,结果业务全部连不上数据库,辛亏监控给力及时发现切换到其他备库上了,没有造成太大的事故。所以在监控和错误处理策略上要很注意,这个关系到数据库能否安全稳定的运行。
2.权限管理。在数据库管理过程中权限管理也是对数据库安全很重要的一个地方。我总结了下一授权情况:
a. 普通数据用户,查询、插入、更新、删除数据库中所有表数据的权限。
b. 数据库开发人员,创建/修改/删除/表、索引、视图、外键和操作存储过程(execute)、函数(routine)等权限。
c. 权限系统默认的root除设置密码之外,其他的不变化,保留三条帐号名称为root的权限信息。
d. 搭建mysql复制的帐号REPLICATION SLAVE 权限。
e. 应用程序访问数据库的帐号,一般只授予四种权限:SELECT、INSERT、UPDATE和DELETE。
f. 内部用于拉取数据的应用程序访问数据库的帐号,一般只授予其只读权限:SELECT。
DBA集中管理高级权限,像创建删除数据库数据表这些任务可以直接交由DBA统一完成,这样能确保数据库内容的安全。
3.架构,结构。有些架构会比较危险,比如mysql的双主结构,这样的架构有时候有的误操作会造成数据不一致。还有就是表结构,sql语句的优化,有时候可以一个select就可能让mysql堵死。所以对于业务部门提交的表结构和sql语句也要有一定的审查和优化,这样才能让数据库更安全平稳的运行。
上面这些就是我这两个多月的亲身感受,发现自己需要学习的还有很多,DBA的路还很漫长,还有更多的挑战~~~~
阅读(1795) | 评论(0) | 转发(0) |