Linux怎么安装PhpMyAdmin_Linux PhpMyAdmin安装管理MySQL【实战】

小芳君_1738

小芳君_1738

2026-04-01

948人浏览

原创

phpmyadmin可在linux通过apt安装(debian/ubuntu)、手动部署(centos/rhel)或nginx反代配置,需同步启用php扩展、配置mysql用户权限、设置blowfish_secret密钥,并推荐启用https与ip白名单保障安全。

linux怎么安装phpmyadmin_linux phpmyadmin安装管理mysql【实战】

如果您在Linux系统上需要通过Web界面管理MySQL数据库,但PhpMyAdmin尚未安装,则可能是由于软件源未启用、依赖缺失或配置未完成。以下是完成PhpMyAdmin安装与基础配置的步骤:

一、通过APT包管理器安装(适用于Debian/Ubuntu)

该方法利用系统官方仓库直接安装预编译包,依赖自动解析,适合大多数标准环境。

1、更新本地软件包索引列表:sudo apt update

2、安装phpmyadmin及其依赖:sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl

3、安装过程中会弹出Web服务器选择界面,使用空格键选中apache2并按Tab键切换至OK后回车确认。

4、当提示是否使用dbconfig-common配置数据库时,选择是,随后输入MySQL root用户密码完成初始化配置。

5、启用PHP mbstring扩展:sudo phpenmod mbstring

6、重启Apache服务使配置生效:sudo systemctl restart apache2

二、通过下载官方压缩包手动部署(适用于CentOS/RHEL或无网络仓库环境)

该方式绕过包管理器,将PhpMyAdmin解压至Web根目录,适用于定制化路径或离线部署场景。

1、进入Web服务器文档根目录(如Apache默认为/var/www/html):cd /var/www/html

2、下载最新稳定版PhpMyAdmin压缩包(以5.2.1版本为例):sudo wget https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz

3、解压并重命名为phpmyadmin:sudo tar -xzf phpMyAdmin-5.2.1-all-languages.tar.gz && sudo mv phpMyAdmin-5.2.1-all-languages phpmyadmin

4、复制配置文件模板:sudo cp phpmyadmin/config.sample.inc.php phpmyadmin/config.inc.php

5、生成并写入blowfish_secret密钥:sudo sed -i "s/\$cfg\['blowfish_secret'\] = '';/\$cfg\['blowfish_secret'\] = '\$(openssl rand -base64 32)';/" phpmyadmin/config.inc.php

6、设置目录权限:sudo chown -R apache:apache phpmyadmin(CentOS/RHEL)或 sudo chown -R www-data:www-data phpmyadmin(Debian/Ubuntu)

三、配置Nginx反向代理访问(适用于使用Nginx作为Web服务器)

当系统运行Nginx而非Apache时,需手动配置location块以支持PHP脚本执行和静态资源路由。

1、创建PhpMyAdmin专用配置文件:sudo nano /etc/nginx/conf.d/phpmyadmin.conf

2、写入以下内容:
location /phpmyadmin {
  alias /var/www/html/phpmyadmin/;
  index index.php;
  location ~ ^/phpmyadmin/(.+\.php)$ {
    alias /var/www/html/phpmyadmin/$1;
    fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $request_filename;
  }
  location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
    alias /var/www/html/phpmyadmin/$1;
  }
}

3、测试Nginx配置语法:sudo nginx -t

4、重载Nginx服务:sudo systemctl reload nginx

5、确保PHP-FPM服务正在运行:sudo systemctl start php8.1-fpm && sudo systemctl enable php8.1-fpm

四、验证MySQL用户权限并配置登录凭证

PhpMyAdmin无法登录通常源于MySQL账户缺少远程连接权限或认证插件不兼容,需针对性调整数据库用户策略。

1、以root身份登录MySQL:sudo mysql -u root -p

2、检查当前root用户的plugin值:SELECT user,host,plugin FROM mysql.user WHERE user='root';

3、若plugin列为auth_socket,执行以下命令切换为mysql_native_password认证:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '您的强密码';

4、刷新权限:FLUSH PRIVILEGES;

5、为PhpMyAdmin创建专用低权限用户(推荐):CREATE USER 'pmauser'@'localhost' IDENTIFIED BY '安全密码';

6、授予必要权限:GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'pmauser'@'localhost'; FLUSH PRIVILEGES;

五、启用HTTPS访问并限制访问来源

为防止凭据明文传输及未授权访问,需强制使用TLS加密,并对访问IP进行白名单控制。

1、确认SSL模块已启用(Apache):sudo a2enmod ssl && sudo systemctl restart apache2

2、为phpmyadmin路径添加HTTPS重定向规则,在Apache虚拟主机配置中加入:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

3、在phpmyadmin目录下创建.htaccess文件,限制仅允许特定IP段访问:
Order Deny,Allow
Deny from all
Allow from 192.168.1.0/24
Allow from 2001:db8::/32

4、若使用Nginx,在对应location块中添加:allow 192.168.1.0/24; deny all;

5、重启Web服务应用变更:sudo systemctl restart apache2 或 sudo systemctl restart nginx

php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
mysql修改数据表名
mysql修改数据表名

MySQL修改数据表:1、首先查看数据库中所有的表,代码为:‘SHOW TABLES;’;2、修改表名,代码为:‘ALTER TABLE 旧表名 RENAME [TO] 新表名;’。php中文网还提供MySQL的相关下载、相关课程等内容,供大家免费下载使用。

2023.06.20

2133

6

MySQL创建存储过程
MySQL创建存储过程

存储程序可以分为存储过程和函数,MySQL中创建存储过程和函数使用的语句分别为CREATE PROCEDURE和CREATE FUNCTION。使用CALL语句调用存储过程智能用输出变量返回值。函数可以从语句外调用(通过引用函数名),也能返回标量值。存储过程也可以调用其他存储过程。php中文网还提供MySQL创建存储过程的相关下载、相关课程等内容,供大家免费下载使用。

2023.06.21

1299

5

mongodb和mysql的区别
mongodb和mysql的区别

mongodb和mysql的区别:1、数据模型;2、查询语言;3、扩展性和性能;4、可靠性。本专题为大家提供mongodb和mysql的区别的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.18

755

5

mysql密码忘了怎么查看
mysql密码忘了怎么查看

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql密码忘了怎么办呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.19

2872

5

mysql创建数据库
mysql创建数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql怎么创建数据库呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.25

4808

4

mysql默认事务隔离级别
mysql默认事务隔离级别

MySQL是一种广泛使用的关系型数据库管理系统,它支持事务处理。事务是一组数据库操作,它们作为一个逻辑单元被一起执行。为了保证事务的一致性和隔离性,MySQL提供了不同的事务隔离级别。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

2023.08.08

1099

3

sqlserver和mysql区别
sqlserver和mysql区别

SQL Server和MySQL是两种广泛使用的关系型数据库管理系统。它们具有相似的功能和用途,但在某些方面存在一些显著的区别。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.11

5071

4

mysql忘记密码
mysql忘记密码

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。那么忘记mysql密码我们该怎么解决呢?php中文网给大家带来了相关的教程以及其他关于mysql的文章,欢迎大家前来学习阅读。

2023.08.14

4502

7

mysql事务隔离级别
mysql事务隔离级别

mysql规范中定义了四种事务隔离级别,不同的隔离级别对事务的处理有所不同。本专题为大家提供mysql事务隔离级别相关的文章内容,大家可以免费体验。

2023.08.16

5894

11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习