老苏折腾过的项目,数据库主要是 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 端口号
讯享网
| 本地端口 | 容器端口 |
|---|---|
8989 |
8080 |

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

MySQL
先试的是群晖自带的 MariaDB 5,数据库用的是 librenms
因为我们都是按账号创建的,所以用户名和数据库名是相同的

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

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

登录很顺利

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

进入管理界面

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

MongoDB
接下来尝试了 MongoDB,之前好几个项目都用到了,最近的是下面👇这个:
交互式在线辅导工具Nettu Meet

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

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

原来开箱即用的只有下面👇这些,其他的都得自己安装 PHP 扩展
MySQLPostgreSQLSQLiteSimpleDBElasticsearch
安装扩展
通过 SSH 客户端以 root 身份进入容器
讯享网# 以 root 身份进入容器 docker exec -it --user root adminer1 /bin/sh
依次执行下面的命令
安装比较花时间,需要耐心
# 安装编译环境 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


如果中间出现错误

就再执行一次

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

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

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
依次执行下面的命令
# 进入目录 cd plugins-enabled/ # 创建文件 vi login-password-less.php
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) );
在密码中输入 nopassword

登录 成功之后的管理界面

主题
前面的截图看起来比较丑陋,但实际上 Adminer 是支持主题的
通过 SSH 客户端以 root 身份进入容器
# 以 root 身份进入容器 docker exec -it --user root adminer1 /bin/sh
依次执行下面的命令
讯享网# 下载 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

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

进管理界面

小结
Adminer 是 phpMyAdmin 的**替代品之一。它不仅体积更小,而且使用起来也更加快捷。
功能虽然老苏没涉及,但是跨过了登录的难关,又是中文界面,用起来还是很容易的,有问题可以提出来一起研究。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/32708.html