要通过 Web 界面处理数据库,有一个 Web 编辑器 phpMyAdmin。 此工具连接到 MariaDB 数据库并显示现有数据库,允许您创建新数据库、编辑表中的数据。 总的来说,一切都和在 mysql 控制台中可以完成的一样,但是更加方便和清晰,尤其是在经常处理数据的时候。 考虑在预配置 Nginx + MariaDB + PHP (LEMP) 的 Debian 12 Linux 服务器上安装 phpMyAdmin.
我们从 root 用户进行所有设置,如果您使用的是普通用户,请在命令前添加 sudo.
1. 安装必要的组件和数据库编辑器本身
apt install php-mbstring
apt install phpmyadmin
在安装过程中,将提示用户选择应该为哪个 Web 服务器配置编辑器。
- []apache2
- []lighttpd
在我们的例子中,服务器预装了 LEMP,我们将两个字段留空并单击确定。
接下来,将建议为数据库编辑器本身创建一个数据库,其中将存储编辑器的用户设置和其操作所需的其他数据。 在这里我们选择 Yes 选项,在下一个窗口中将要求您提供 phpmyadmin 用户的密码。 我们输入密码,在接下来的窗口中确认,避免输入错误。
2. 基本设置
让我们通过链接 http://server-ip/phpmyadmin 来检查工作,我们可以输入任何数据库的登录名和密码,例如,新创建的,我们设置的 phpmyadmin 登录名和密码。 有时,为了方便,需要同时操作多个数据库,为了在一个用户下显示它们,我们需要创建一个并委托root用户的权限。
mysql -u root -p
CREATE USER 'alldbuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON . TO 'alldbuser'@'localhost';
FLUSH PRIVILEGES;
现在,在 alldbuser 用户下授权时,将显示在该服务器上创建的所有数据库。
如果需要为root用户设置密码,使用以下命令:
mysql -u root
use mysql;
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YOURNEWPASSWORD';
FLUSH PRIVILEGES;
exit
在 nginx web 服务器的根目录下添加 phpMyAdmin 文件夹的链接:
ln -s /usr/share/phpmyadmin /usr/share/nginx/html
3. 安全设置
为了保护数据库编辑器免受猜测密码和潜在漏洞的影响,让我们在没有服务器的级别添加授权。
vi /etc/nginx/conf.d/default.conf
location /phpmyadmin {
auth_basic "Admin Login";
auth_basic_user_file /etc/nginx/pma_pass;
}
添加用户并为其指定密码:
htpasswd -c /etc/nginx/pma_pass pma_username
重启 nginx 服务:
systemctl restart nginx
现在,当您单击链接 http://server-ip/phpmyadmin 时,将出现一个窗口,用于输入您的登录名和密码。 在我们的例子中,登录名将是 pma_username。
设置完成,我们强烈建议您仅使用带有 SSL 证书的 https 协议输入密码,以避免数据被拦截。