烂泥:数据库管理之phpmyadmin免密码配置
2016-12-23 23:09
447 查看
本文由ilanniweb提供友情赞助,首发于烂泥行天下
想要获得更多的文章,可以关注我的微信ilanniweb
其实这篇文章很早就想写了,但是一直没有时间。刚好今天下午稍微空了点,就把这篇文章整理出来。
有关phpmyadmin的文章,在百度一搜,能搜出来很多。这篇文章我就介绍下,如何通过phpmyadmin控制开发人员对数据库的操作。
当然有关数据库的安全,我们可以从三个方面进行考虑:
1)、mysql数据库服务器,包括服务器本身的安全等。
2)、mysql访问权限,包括数据库用户权限,以及访问数据库方法等。
3)、mysql数据库访问后的安全,包括是否允许导出数据等。
今天我们通过phpmyadmin来控制开发人员对数据库的操作,其实就是结合第二点和第三点来禁止用户访问数据库后导出数据。
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了,但是需要我们输入相关的用户名和密码。
在此我们以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根目录下的tbl_export.php或者export.php文件进行重命名即可,如下:
mv export.php export.php.bak
修改完毕后,我们再来导出数据看看,如下:
通过上图,我们可以很容易的看出目前无法把数据导出,这样就达到了我们禁止phpmyadmin导出数据的目的。
注意:export.php文件是针对整个数据库的导出的,如果要禁止查询后的导出,那么需要我们重命名tbl_export.php文件即可。
PS:安全是相对的,没有绝对的安全,我们只能做到防君子不防小人。
想要获得更多的文章,可以关注我的微信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免密码配置
- phpmyadmin管理多个数据库服务器的配置方法
- phpmyadmin管理多个数据库服务器的配置方法
- 第一天-1】【忘记密码】【配置数据库em】【em语言设置】【管理em服务】【浏览器执行sql】
- wampserver环境下terminal链接本地数据库,以及mysql密码的修改和phpmyadmin应用配置mysql密码位置
- phpStudy-坑爹的数据库管理器-phpMyAdmin的默认用户名和密码
- phpmyadmin管理多个数据库服务器的配置方法
- Linux安装phpMyAdmin配置管理多个数据库
- 配置phpmyadmin使登录时可填写IP管理多台MySQL 连接多个数据库 自动登录
- CentOS 6.3安装配置安装phpMyAdmin管理数据库
- Ubuntu 17.10安装phpMyAdmin数据库管理工具配置详解
- Linux配置手册(九)phpMyAdmin数据库管理套件的安装
- phpmyadmin中配置成普通用户权限后为何在其界面中还能看到information_schema数据库
- 路由器交换机密码恢复、IOS与配置文件更新、IOS灾难恢复(网络设备的维护和管理)
- jdbc数据库连接管理封装工具类,不同使用属性文件配置数据库连接信息(2)
- 自然框架的源代码、Demo、数据库、配置信息管理程序下载(2011.1.7更新)
- 路由器交换机密码恢复、IOS与配置文件更新、IOS灾难恢复(网络设备的维护和管理)
- Spring Security 基于数据库的权限管理配置
- 【视频】配置信息管理 的 使用方法(三):查看和修改元数据、查看数据库的表视图存储过程等信息