大家好,欢迎来到IT知识分享网。
老苏折腾过的项目,数据库主要是 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://haidsoft.com/119746.html



























