第 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 是一个基于 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
现在再次尝试登录...这次应该可以了!