第 1 步:安装 Apache2 HTTP 服务器

Adminer 需要一个网络服务器 ,这里我们使用apache, 在 Ubuntu 上安装它

sudo apt update
sudo apt install apache2

安装 Apache2 后,以下命令可用于停止、启动和启用 Apache2 服务:

sudo systemctl stop apache2.service
sudo systemctl start apache2.service
sudo systemctl enable apache2.service

现在安装了 Apache2。

测试 Web 服务器是否正常,使用浏览器打开

http://localhost
使用Adminer 和 Apache2 管理 MariaDB/MySQL 数据库

Adminer 是一个基于 Web 的数据库管理工具,支持 MySQL、MariaDB、PostgreSQL、MS SQL、Oracle

与 phpMyAdmin 一样, 但具有更整洁的用户界面、高性能、更好的支持和快速开发,并增强了安全性、用户体验、性能等。
我们可以用 Adminer 替换 phpMyAdmin。

步骤 2:安装 MariaDB 数据库服务器

由于我们将通过 Adminer 管理 MariaDB 数据库,请运行以下命令在 Ubuntu 上安装 MariaDB 数据库服务器

sudo apt-get install mariadb-server mariadb-client

安装 MariaDB 后,以下命令可用于停止、启动 MariaDB 服务 以及 在服务器启动时始终启动 MariaDB 服务

在 Ubuntu 16.04 LTS 上

sudo systemctl stop mysql.service
sudo systemctl start mysql.service
sudo systemctl enable mysql.service

在 Ubuntu 18.10 和 18.04 LTS 上

sudo systemctl stop mariadb.service
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

接下来,如果在安装过程中没有提示我们这样做,
请运行以下命令以使用 root 密码保护数据库服务器。

sudo mysql_secure_installation

出现提示时,请按照教程回答以下问题。

  • 输入 root 的当前密码(输入无):只需按 Enter
  • 设置root密码? [是/否]:是
  • 新密码:输入密码
  • 重新输入新密码:重复密码
  • 删除匿名用户? [是/否]:是
  • 禁止远程root登录? [是/否]:是
  • 删除测试数据库并访问它? [是/否]:是
  • 现在重新加载权限表? [是/否]:是

现在安装了 MariaDB,要测试数据库服务器是否安装成功,请运行以下命令:

sudo mysql -u root -p

出现提示时输入root密码。

第 3 步:安装 PHP 脚本

为了让 Adminer 工作,你需要安装 PHP 和相关模块

但是,PHP 7.2 在 Ubuntu 默认存储库中可能不可用。

要在 Ubuntu 16.04 及更早版本上运行 PHP 7.2,我们可能需要运行以下命令:

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php

然后更新升级到 PHP 7.2:

sudo apt update

然后运行下面的命令进行安装

sudo apt-get install php7.2 php-tcpdf php7.2-cgi php7.2-mysqli php-pear php7.2-mbstring php7.2-gettext libapache2-mod-php7.2 php7.2-common php-phpseclib php7.2-mysql

安装完上述PHP所需模块后。
去下载 最新版本adminer :

https://www.adminer.org/en/#download

找到新版本链接,替换下面链接

cd /var/www/html
sudo wget -O /var/www/html/adminer.php https://github.com/vrana/adminer/releases/download/v4.7.4/adminer-4.7.4.php

Web 浏览器打开 :

http://服务器ip/adminer.php

我们应该会看到管理员登录页面。

我们将无法使用 MariaDB 根帐户登录

当我们尝试使用 MariaDB 根帐户登录时,它将失败。

那是因为 MariaDB 和 MySQL 已将其身份验证方法切换为 auth_socket

auth_socket 插件通过 Unix 套接字文件对从本地主机连接的用户进行身份验证。
这会阻止用户使用密码进行连接。.因此,我们将无法通过 Adminer 进行连接。

当我们尝试登录时,我们会看到错误

#1698 – Access denied for user ‘root’@’localhost’
#1698 - 用户‘root’@‘localhost’拒绝访问

要解决此问题,请运行以下命令:

sudo mysql -u root

这应该让我们进入数据库服务器。
之后,运行以下命令以禁用 root 用户的插件身份验证

use mysql;
update user set plugin='' where User='root';
flush privileges;
exit

重新启动并运行以下命令以设置新密码。

sudo systemctl restart mariadb.service

现在再次尝试登录...这次应该可以了!

日期:2020-07-07 20:55:03 来源:oir作者:oir