Adminer(以前称为phpMinAdmin)是一个用PHP编写的全功能数据库管理工具。与phpMyAdmin相反,它由一个准备部署到目标服务器的文件组成。Adminer可用于MySQL, MariaDB, PostgreSQL, SQLite, MS SQL, Oracle, Elasticsearch, MongoDB和其他插件。
由于有一个历史项目突然验收,再加上不知哪个大神写的方案,把一些没有的功能写到了合同中,其中有一个数据库工具需求,需要有个系统对数据库脚本进行管理并且可以执行、导入、导出。
首先想到使用Adminer,这个系统依赖的环境为php,所以第一步要在服务器上搭建php环境。
搭建php环境
- 安装 Apache Web 服务器
在终端中运行以下命令以安装 Apache Web 服务器:
输入命令
$ sudo yum install httpd
安装完成后,使用以下命令启动 Apache:
输入命令
$ sudo systemctl start httpd
- 安装 PHP
在终端中运行以下命令以安装 PHP 和常用的 PHP 扩展:
输入命令
$ sudo yum install php php-mysql php-gd php-xml
安装完成后,使用以下命令重新启动 Apache,以使 PHP 模块生效:
输入命令
sudo systemctl restart httpd
下载Adminer并安装
前往 Adminer 官网 下载最新版本的 Adminer,通常是一个单独的 PHP 文件。
将下载的 Adminer 文件名改为adminer.php,然后复制到 Web 服务器的文档根目录下,通常是 /var/www/html/。
修改Adminer主题
Adminer提供主题,将主题css下载后和adminer.php文件放到同级目录下
访问
在浏览器中访问Web 服务器,并在 URL 后面添加 /adminer.php。例如,如果Web 服务器的 IP 地址为 192.168.0.100,则访问 http://192.168.0.100/adminer.php。
问题处理
- 输入数据库连接点击登录失败,提示
Permission denied
。
答:问题是由于httpd
组件的允许网络连接配置没有开始导致的。
输入命令
$ getsebool httpd_can_network_connect_db
输出结果
httpd_can_network_connect_db --> off
当前状态,Apache允许从Adminer使用Server: 127.0.0.1进行连接。无法远程其他数据库。因此需要将连接网络DB参数配置为on
输入命令
$ sudo setsebool -P httpd_can_network_connect_db on
$ sudo systemctl restart httpd
问题解决