烂泥:数据库管理之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:安全是相对的,没有绝对的安全,我们只能做到防君子不防小人。

时间: 2024-11-09 05:56:56

烂泥:数据库管理之phpmyadmin免密码配置的相关文章

git 免密码配置

1.cd ~/ 2.touch .git-credentials   (注意文件名前面有个  "点") 3.打开刚刚创建的文件,写入 https://username:[email protected],username.password 对应 bitbucket 用户名密码 4.任意目录下 git config --global credential.helper store 5.完事之后,新生成一个叫做 .gitconfig 的文件,该文件你的git配置文件 6.接下来的操作你就熟

TortoiseGit免密码配置

公钥和私钥 使用Puttygen工具生成公钥和私钥,公钥给管理员,私钥自己保存(可以拷贝到家里使用). 适用于使用ssh方式的连接. 具体步骤: 1. 生成密钥对 1.1找到TortoiseGit自带的Puttygen工具 1.2 打开之后点击Generate(鼠标在画框区域左右晃动,直到生成密钥对) 1.3为私钥设置"密码保护",点击保存私钥,并将公钥复制到服务器相关文件里. 2. Git连接 将上面保存的私钥地址填写到git远程设置里面. 参考资料:http://www.cnblo

weblogic管理3 - 生产模式下免密码管理配置

admin server免密码配置 >1.  生产模式中admin root目录下是否存在security/boot.properties文件 [[email protected] AdminServer]$ pwd/home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer[[email protected] AdminServer]$ lltotal 16drwxr-----. 3

Linux服务器之间配置免密码SSH访问

环境:Oracle VM Virtualbox, Ubuntu Server 12.04,SecureCRT 1.首先在虚拟机中安装好Linux操作系统,这里我选择的是Ubuntu Server,为了方便后续操作,网络建议选择桥接(bridge),因为电脑比较老,虚拟机和Linux都是32位的 安装Ubuntu的时候,注意选择安装ssh服务,如果没有安装,可以通过下面这个命令安装: $sudo apt-get install openssh-server 通过下面命令可以查看ssh服务有没有启动

Linux A机器免密码SSH登录B机器

一.问题 如上,A机器经常需远程操作B机器,传输文件到B机器,每次输入帐号密码过于繁琐,下文通过ssh公钥能解免密码操作问题. 二.解决 1.方案 SSH认证采用公钥与私钥认证方式. 2.步骤 1) A机器生成公钥/私钥对 [[email protected]08 ~]# ssh-keygen -t rsa -P '' Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/i

Hadoop 1.2.1 安装笔记01 : Linux 与免密码

目标: 配置一个hadoop 1.2.1 测试环境  用的JDK是: jdk-7u65-linux-x64.gz 选的hadoop 是: hadoop-1.2.1.tar.gz 均来源Apache和oracle网站 主机规划: Linux版本 :  Centos 6.5 x64位  /boot:用来存放与Linux系统启动有关的程序,比如启动引导装载程序等,建议大小为100MB. /usr:用来存放Linux系统中的应用程序,其相关数据较多,建议大于3GB以上. /var:用来存放Linux系统

ubuntu配置SSH免密码登陆

ubuntu配置SSH免密码登陆 1.安装SSH:  2.是否生成 .ssh 目录: 3.如果没有生成,自己手动创建一个  .ssh 目录: 生成的 .ssh 目录: 4.生成公钥与私钥: 效果如下: 5.将公钥加入到用于认证的公钥文件中: 6.免密码登陆: 效果: Ubuntu 免密码登陆,SSH配置完.

配置免密码登录

.配置免密码登录 免密码登录可以在任意一台机器上输入命令,可以启动所有机器上的进程 如果不做免密码登录,需要在每一台机器上输入启动进程命令 配置201上的免密码登录 在201上生成秘钥 ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 在.ssh目录下生成 [[email protected] .ssh]# ls authorized_keys id_dsa id_dsa.pub known_hosts [[email protected] .ssh]# id_d

ssh配置免密码登录

日常工作中很多情况下都需要登录服务器进行管理,一般都是用ssh进行连接,为了防止密码外泄,可以配置下ssh的免密码登录. 首先服务器两台: A:43.224.34.* B:104.238.161.* 配置的结果是B机器可以免密码登录到A服务器. 首先在B服务器上生成本机的公私密钥: ssh-keygen -t rsa -P '' 过程为: [[email protected] .ssh]# ssh-keygen -t rsa -P '' Generating public/private rsa