烂泥:数据库管理之phpmyadmin免密码配置
本文由ilanniweb提供友情赞助,首发于烂泥行天下
想要获得更多的文章,可以关注我的微信ilanniweb
其实这篇文章很早就想写了,但是一直没有时间。刚好今天下午稍微空了点,就把这篇文章整理出来。
有关phpmyadmin的文章,在百度一搜,能搜出来很多。这篇文章我就介绍下,如何通过phpmyadmin控制开发人员对数据库的操作。
当然有关数据库的安全,我们可以从三个方面进行考虑:
1)、mysql数据库服务器,包括服务器本身的安全等。
2)、mysql访问权限,包括数据库用户权限,以及访问数据库方法等。
3)、mysql数据库访问后的安全,包括是否允许导出数据等。
今天我们通过phpmyadmin来控制开发人员对数据库的操作,其实就是结合第二点和第三点来禁止用户访问数据库后导出数据。
一、phpmyadmin安装
首先我们来先安装phpmyadmin,在此我们使用的是源码方式进行安装,而且安装的是最新版4.6.4,如下:
wget https://files.phpmyadmin.net/phpMyAdmin/4.6.4/phpMyAdmin-4.6.4-all-languages.zip
unzip phpMyAdmin-4.6.4-all-languages.zip -d /data/dg/
mv /data/dg/phpMyAdmin-4.6.4-all-languages/ /data/dg/app_db/
chmod 755 -R /data/dg/app_db/
注意:phpmyadmin需要lnmp环境,所以在运行phpmyadmin之前,需要把相关的基础的环境安装好。
phpmyadmin解压安装完毕后,我们再来配置下nginx,如下:
在此我开启了nginx的目录索引功能,主要是考虑到了如果有多个数据库的话,我们可以通过目录名称的方式进行区分。
比如,我们线上的数据库如下:
现在访问一下,如下:
通过上图,我们可以很明显的看出,目前已经可以正常访问phpmyadmin了,但是需要我们输入相关的用户名和密码。
二、phpmyadmin免密码配置
第一章节中,我们已经安装好了phpmyadmin,这一章节我们来配置下phpmyadmin,免密码登陆访问。
在此我们以app_db这个数据库为例。要实现免密码登陆访问之前,我们还需要先在mysql数据库中创建一个针对app_db数据库的只读用户ilanniread。
创建sql语句如下:
mysql -hrm-bp183j9f186nd4933.mysql.rds.aliyuncs.com -uroot -p'ilanni' -e "grant select on app_db.* to 'ilanniread'@'%' identified by 'readonlyQWE';
ilanniread创建完毕后,我们现在来修改phpmyadmin的配置文件config.default.php。
对于config.default.php文件,我们只需要修改106、252、259行,其中第106行是数据库的连接地址,而第252行和259行分别是数据库的用户名和密码。如下:
修改完毕后,我们再来访问下,看看实际的效果,如下:
通过上图,我们可以很明显的看到,目前访问phpmyadmin是不需要输入数据库的用户名和密码了。
而且通过这样做以后,我们也可以让开发人员不需要知道数据库实际的地址以及数据库的用户名和密码,相对来说安全性还是提高了不少。
三、禁止phpmyadmin导出数据
第二章节,我们配置了phpmyadmin的免密码访问,现在再来配置如何禁止通过phpmyadmin导出查询出来的数据。
默认情况下,phpmyadmin是可以导出整个数据库的,如下:
为了防止开发人员私自导出查询出来的结果,我们可以这样处理,把phpmyadmin根目录下的tbl_export.php或者export.php文件进行重命名即可,如下:
mv export.php export.php.bak
修改完毕后,我们再来导出数据看看,如下:
通过上图,我们可以很容易的看出目前无法把数据导出,这样就达到了我们禁止phpmyadmin导出数据的目的。
注意:export.php文件是针对整个数据库的导出的,如果要禁止查询后的导出,那么需要我们重命名tbl_export.php文件即可。
PS:安全是相对的,没有绝对的安全,我们只能做到防君子不防小人。
烂泥:数据库管理之phpmyadmin免密码配置的更多相关文章
- Linux远程登录ssh免密码配置方法(仅供参考)
这篇文章主要介绍了linux远程登录ssh免密码配置方法,需要的朋友可以参考下(http://www.0834-3659999.com) 一.情景 公司刚上几台Linux,现在要把主机之间都能远程ss ...
- Linux实验:ssh免密码配置
[实验目的] 1)了解ssh工具的作用 2)熟悉ssh配置过程 3)理解ssh原理[实验原理] SSH是目前比较可靠的专为远程登录会话和其他网络服务提供安全的协议.不同主机之间 ...
- LINUX的ssh免密码配置
本篇将介绍LINUX的ssh免密码配置. 本篇中的有三台主机: 192.168.1.110 master.com.cn 主机192.168.1.111 salver1.com.cn192.168.1 ...
- git 免密码配置
1.cd ~/ 2.touch .git-credentials (注意文件名前面有个 ”点”) 3.打开刚刚创建的文件,写入 https://username:password@github. ...
- weblogic管理3 - 生产模式下免密码管理配置
admin server免密码配置 >1. 生产模式中admin root目录下是否存在security/boot.properties文件 [weblogic@11g AdminServer ...
- Linux A机器免密码SSH登录B机器
一.问题 如上,A机器经常需远程操作B机器,传输文件到B机器,每次输入帐号密码过于繁琐,下文通过ssh公钥能解免密码操作问题. 二.解决 1.方案 SSH认证采用公钥与私钥认证方式. 2.步骤 1) ...
- Linux两台主机之间建立信任(ssh免密码)
背景: 有时候我们在两个主机之间复制文件的时候,提示输入密码,很不方便,那如何免密码复制呢?,就是使用通过linux公钥和秘钥,建立双机信任关系. 在整理之前,我先说下ssh免密码的要点 : 你想免密 ...
- ssh配置免密码登录
日常工作中很多情况下都需要登录服务器进行管理,一般都是用ssh进行连接,为了防止密码外泄,可以配置下ssh的免密码登录. 首先服务器两台: A:43.224.34.* B:104.238.161.* ...
- CentOS配置SSH免密码登录后,仍提示输入密码
CentOS配置SSH无密码登录需要3步: 生成公钥和私钥 导入公钥到认证文件,更改权限 测试 1.生成公钥和私钥 ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 默 ...
随机推荐
- RestTemplate发送请求并携带header信息
1.使用restTemplate的postForObject方法 注:目前没有发现发送携带header信息的getForObject方法. HttpHeaders headers = new Http ...
- jQuery.Ajax IE8 无效(CORS)
今天在开发的时候,遇到一个问题,$.get()在 IE8 浏览器不起作用,但 Chrome,Firefox 却是可以的,网上资料很多,最后发现是 IE8 默认不支持 CORS 请求,需要手动开启下: ...
- 一个表缺失索引发的CPU资源瓶颈案例
背景 近几日,公司的应用团队反应业务系统突然变慢了,之前是一直比较正常.后与业务部门沟通了解详情,得知最近生意比较好,同时也在做大的促销活动,使得业务数据处理的量出现较大的增长,最终系统在处理时出现瓶 ...
- SQL Server 2016白皮书
随着SQL Server 2016正式版发布日临近,相关主要特性通过以下预览学习: Introducing Microsoft SQL Server 2016 e-bookSQL Server 201 ...
- Kooboo CMS技术文档之一:Kooboo CMS技术背景
语言平台 依赖注入方案 存储模型 1. 语言平台 Kooboo CMS基于.NET Framework 4.x,.NET Framework 4.x的一些技术特性成为站点开发人员使用Kooboo CM ...
- 玩转spring boot——结合redis
一.准备工作 下载redis的windows版zip包:https://github.com/MSOpenTech/redis/releases 运行redis-server.exe程序 出现黑色窗口 ...
- 基于fis3的组件可视化道路
首先说明一下,即使不熟悉fis3,阅读文本应该也会有所收获. 本文以fis-parser-imweb-tplv2插件为模板插件,目的不在于使用哪个模板,而是组件可视化的实现思路,不必担心. 先说说模板 ...
- golang sync.WaitGroup bug
注意,这个结构体,要是想在函数之间传来传去的话,必须要使用指针....... 这个结构体里没有 指针,这个类型可以说没有“引用特性”. 被坑了一晚上.特此记录.
- 5.0 JS中引用类型介绍
其实,在前面的"js的六大数据类型"文章中稍微说了一下引用类型.前面我们说到js中有六大数据类型(五种基本数据类型 + 一种引用类型).下面的章节中,我们将详细讲解引用类型. 1. ...
- iOS从零开始学习直播之1.播放
对于直播来说,客户端主要做两件事情,推流和播放.今天先讲播放. 播放流程 1.拉流:服务器已有直播内容,从指定地址进行拉取的过程.其实就是向服务器请求数据. 2.解码:对视屏数据进行解压缩. 3. ...