网页数据库管理工具Adminer

老苏折腾过的项目,数据库主要是 MySQL,其次是 MongoDB 、PostgreSQL 和 SQLite,最近还用到了 Elasticsearch ,但是数据库管理软件 phpMyAdmin 只能管理 MySQL ,老苏一直在找一个全能的数据库管理器,似乎 Adminer 可以满足要求。

什么是 Adminer ?

Adminer(原 phpMinAdmin)是一个用 PHP 编写的全功能数据库管理工具。与 phpMyAdmin 相反,它由一个准备部署到目标服务器的文件组成。Adminer 可用于 MySQL、PostgreSQL、SQLite、MS SQL、Oracle、Firebird、SimpleDB、Elasticsearch 和 MongoDB。

安装
在群晖上以 Docker 方式安装。

在注册表中搜索 adminer ,选择第一个 adminer,版本选择 latest。

端口
本地端口不冲突就行,不确定的话可以查一下

查看端口占用

netstat -tunlp | grep 端口号
1
2
本地端口 容器端口
8989 8080

运行
在浏览器中输入 http://群晖IP:8989 就能看到主界面

MySQL
先试的是群晖自带的 MariaDB 5,数据库用的是 librenms

因为我们都是按账号创建的,所以用户名和数据库名是相同的

登录成功之后进入管理界面

接着试了下 MariaDB 10,数据库用的是 nocodb

登录很顺利

PostgreSQL
老苏安装 adminer 的主要原因就是为了管理 PostgreSQL,之前有两个项目安装了 docker 版的 PostgreSQL

日程安排工具Calendso
多合一的家庭助理Homechart

进入管理界面

默认是 显示结构,改为 选择数据

MongoDB
接下来尝试了 MongoDB,之前好几个项目都用到了,最近的是下面👇这个:

交互式在线辅导工具Nettu Meet

但是这次没有成功,显示 没有扩展

老苏研究了半天,才发现这样一段描述

原来开箱即用的只有下面👇这些,其他的都得自己安装 PHP 扩展

MySQL
PostgreSQL
SQLite
SimpleDB
Elasticsearch
安装扩展
通过 SSH 客户端以 root 身份进入容器

以 root 身份进入容器

docker exec -it --user root adminer1 /bin/sh
1
2
依次执行下面的命令

安装比较花时间,需要耐心

安装编译环境

apk add autoconf gcc g++ make libffi-dev openssl-dev

安装 mongo 驱动

pecl install mongodb

添加 mongo 配置

echo "extension=mongodb.so" > /usr/local/etc/php/conf.d/docker-php-ext-mongodb.ini
1
2
3
4
5
6
7
8

如果中间出现错误

就再执行一次

编译成功之后还需要修改配置,再重启一次容器就可以了

这次很顺利的进入到了管理界面

Elasticsearch
Nettu Meet 还用到了 Elasticsearch ,正好又是开箱即用的,所以也一并看看,但是 Adminer默认不支持访问没有密码的数据库

环境
停止容器,添加环境变量

可变 值
ADMINER_PLUGINS 插件名称
在这里 值 我们输入 login-password-less

如果直接启动,日志中会有报错

这是因为 login-password-less 插件需要参数才能正常工作,所以不适用上面的方法,将 ADMINER_PLUGINS 值设为空,然后启动

通过 SSH 客户端以 root 身份进入容器

以 root 身份进入容器

docker exec -it --user root adminer1 /bin/sh
1
2
依次执行下面的命令

进入目录

cd plugins-enabled/

创建文件

vi login-password-less.php
1
2
3
4
5
login-password-less.php 文件内容如下

<?php
require_once('plugins/login-password-less.php');

/** Set allowed password
* @param string result of password_hash
*/
return new AdminerLoginPasswordLess(
$password_hash = password_hash('nopassword', PASSWORD_DEFAULT)
);
1
2
3
4
5
6
7
8
9
在密码中输入 nopassword

登录 成功之后的管理界面

主题
前面的截图看起来比较丑陋,但实际上 Adminer 是支持主题的

通过 SSH 客户端以 root 身份进入容器

以 root 身份进入容器

docker exec -it --user root adminer1 /bin/sh
1
2
依次执行下面的命令

下载 css 文件

curl -O https://raw.githubusercontent.com/Niyko/Hydra-Dark-Theme-for-Adminer/master/adminer.css

镜像站点

curl -O https://raw.fastgit.org/Niyko/Hydra-Dark-Theme-for-Adminer/master/adminer.css
1
2
3
4
5

刷新一下页面,有没有觉得档次立马提升了几个层次?

进管理界面

小结
Adminer 是 phpMyAdmin 的最佳替代品之一。它不仅体积更小,而且使用起来也更加快捷。

功能虽然老苏没涉及,但是跨过了登录的难关,又是中文界面,用起来还是很容易的,有问题可以提出来一起研究。

参考文档
vrana/adminer: Database management in a single PHP file
地址:https://github.com/vrana/adminer

Adminer - Database management in a single PHP file
地址:https://www.adminer.org/

finwo/docker-adminer: Dockerized adminer db manager - docker-adminer - Codeberg.org
地址:https://codeberg.org/finwo/docker-adminer

How to Use Adminer to Manage Databases Easily with a Single PHP File
地址:https://kinsta.com/blog/adminer/
————————————————

原文链接:https://blog.csdn.net/wbsu2004/article/details/121949994

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,948评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,371评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,490评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,521评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,627评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,842评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,997评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,741评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,203评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,534评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,673评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,339评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,955评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,770评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,000评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,394评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,562评论 2 349

推荐阅读更多精彩内容