• CentOS已安装宝塔的情况下手动安装phpMyAdmin


    CentOS 7.9.2009,宝塔7.9.4。

    服务器中已有MySQL,可能不是通过宝塔安装的,而是手动安装的。用命令行可以正常进入MySQL查看和管理数据,说明已有的MySQL是正常的。在宝塔中点击数据库提示“未安装本地数据库,已隐藏无法使用的功能”,软件商店中已安装Nginx和PHP,从软件商店中安装phpMyAdmin 5.0.0提示“依赖以下软件,请先安装[mysql,nginx|apache|openlitespeed]”。

    数据库名和用户名已打码

     

     

     既然宝塔上装不了,就想手动安装,查到的文章有的是yum安装,有的是解压phpMyAdmin压缩包再配置Nginx的root目录,弄完都打不开phpMyAdmin页面,403或404。

    后来看到个视频,他是先在宝塔的网站中添加PHP站点(域名假设是test.com,也可以是自定义的IP+端口),然后在这个站点的根目录(如/www/wwwroot/test.com)中解压phpMyAdmin压缩包,得到/www/wwwroot/test.com/phpMyAdmin-4.9.11-all-languages,然后访问test.com/phpMyAdmin-4.9.11-all-languages就能打开phpMyAdmin页面,或者IP:端口/phpMyAdmin-4.9.11-all-languages也能打开(要提前放行端口),安全起见我把phpMyAdmin-4.9.11-all-languages文件夹重命名成一个很长的随机字符串,这样别人即使知道域名或IP+端口,也不知道具体的路径,无法访问数据库。

    如果报错phpmyadmin mysqli_real_connect(): (HY000/2002): No such file or directory,进入phpMyAdmin-4.9.11-all-languages文件夹,cp config.sample.inc.php config.inc.php,将config.inc.php中$cfg['Servers'][$i]['host']的值由'localhost'改成'127.0.0.1'。参考链接

    参考链接中还做了一个访问开关(如叫phpmyadmin.sh,要给可执行权限),需要通过phpMyAdmin访问数据库时,开启开关,不访问时关闭,关闭后即使知道访问地址也无法打开。原理就是修改当前站点自己的Nginx配置文件名(即子配置文件名),改完后服务器上的Nginx主配置没改,它还用旧名字去读取子配置文件,读取不到,所以打不开子网站(即新建的phpMyAdmin站点)。使用前将两处mv的路径改成自己的,然后将两处systemctl restart nginx都改成nginx -s reload,因为前者会重启Nginx,后者是重载配置但不重启。

    1. #!/bin/bash
    2. # author: yasin
    3. function enable_phpmyadmin(){
    4. mv /etc/nginx/conf.d/phpmyadmin.conf_bak /etc/nginx/conf.d/phpmyadmin.conf
    5. # systemctl restart nginx
    6. nginx -s reload
    7. echo "enable phpmyadmin success."
    8. }
    9. function disable_phpmyadmin(){
    10. mv /etc/nginx/conf.d/phpmyadmin.conf /etc/nginx/conf.d/phpmyadmin.conf_bak
    11. # systemctl restart nginx
    12. nginx -s reload
    13. echo "disable phpmyadmin success."
    14. }
    15. case $1 in
    16. enable)
    17. enable_phpmyadmin;;
    18. disable)
    19. disable_phpmyadmin;;
    20. *)
    21. echo "Usage:`basename $0` {enable|disable}";;
    22. esac

    打开访问开关:./phpmyadmin.sh enable

    关闭访问开关:./phpmyadmin.sh disable

  • 相关阅读:
    k8s部署springboot
    华为认证网络工程师2022年最新学习路线整理
    蜂鸟E203学习(一)--RISC的前世今生
    毅速丨3D打印结合拓扑优化让轻量化制造更容易
    java导出数据到excel表中
    JS的装箱和拆箱
    k8s的Helm
    Collagen胶原蛋白修饰亚油酸linoleic acid/甲磺酸酯Mesylate/磷酸三苯酯TPP
    如何基于 ZEGO SDK 实现 Android 通话质量监测
    现代农业信息技术
  • 原文地址:https://blog.csdn.net/fj_changing/article/details/136189664