您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# phpMyAdmin怎么搭建多数据库服务器
## 前言
phpMyAdmin作为最流行的MySQL/MariaDB网页管理工具,常被用于单数据库服务器的管理。但在实际生产环境中,企业往往需要同时管理多个数据库服务器。本文将详细介绍如何配置phpMyAdmin实现多数据库服务器的集中管理,涵盖从环境准备到高级配置的全流程。
## 一、基础环境准备
### 1.1 系统要求
- **Web服务器**:Apache/Nginx(推荐Apache 2.4+)
- **PHP版本**:7.4及以上(需启用mysqli扩展)
- **数据库服务**:MySQL 5.7+/MariaDB 10.3+
- **phpMyAdmin版本**:5.1.0+
### 1.2 安装phpMyAdmin
```bash
# Ubuntu/Debian
sudo apt install phpmyadmin
# CentOS/RHEL
sudo yum install phpmyadmin
# 或手动安装
wget https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz
tar -xzvf phpMyAdmin-5.2.1-all-languages.tar.gz
mv phpMyAdmin-5.2.1-all-languages /var/www/html/phpmyadmin
phpMyAdmin的核心配置文件是config.inc.php
,通常位于:
/usr/share/phpmyadmin/config.inc.php # 包管理器安装
/var/www/html/phpmyadmin/config.inc.php # 手动安装
$cfg['Servers'][$i]['auth_type'] = 'cookie'; // 推荐使用cookie认证
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false; // 禁止空密码登录
在config.inc.php
中添加多个服务器定义:
// 第一个服务器
$i++;
$cfg['Servers'][$i]['host'] = '192.168.1.100';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['username'] = 'admin1';
$cfg['Servers'][$i]['password'] = 'password1';
// 第二个服务器
$i++;
$cfg['Servers'][$i]['host'] = '192.168.1.101';
$cfg['Servers'][$i]['port'] = '3307'; // 非标准端口
$cfg['Servers'][$i]['socket'] = '/var/run/mysqld/mysqld2.sock'; // 使用socket连接
// 定义服务器组
$cfg['Servers'][$i]['verbose'] = '生产主库';
$cfg['Servers'][$i]['only_db'] = ['production_*']; // 限制显示特定数据库
$i++;
$cfg['Servers'][$i]['verbose'] = '测试环境';
$cfg['Servers'][$i]['hide_db'] = 'mysql|information_schema'; // 隐藏系统库
// HTTP基本认证
$cfg['Servers'][$i]['auth_type'] = 'http';
// 配置特定服务器使用固定账号
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'fixed_user';
$cfg['Servers'][$i]['password'] = 'fixed_pass';
$cfg['Servers'][$i]['ssl'] = true;
$cfg['Servers'][$i]['ssl_key'] = '/path/to/client-key.pem';
$cfg['Servers'][$i]['ssl_cert'] = '/path/to/client-cert.pem';
$cfg['Servers'][$i]['ssl_ca'] = '/path/to/ca-cert.pem';
$cfg['Servers'][$i]['host'] = 'readonly.lb.example.com';
$cfg['Servers'][$i]['controlhost'] = 'master.db.example.com'; // 写操作指向主库
$cfg['Servers'][$i]['controluser'] = 'repl_user';
# Apache配置示例
<Directory "/usr/share/phpmyadmin">
Require ip 192.168.1.0/24
Require ip 10.0.0.5
</Directory>
通过google2fa
等插件实现:
$cfg['2fa'] = 'google2fa';
$cfg['2fa_secret'] = 'YOUR_SECRET_KEY';
$cfg['LogSQL'] = true;
$cfg['SQL']['log'] = '/var/log/phpmyadmin.log';
// 增加超时设置
$cfg['Servers'][$i]['connect_timeout'] = 30;
$cfg['Servers'][$i]['SessionTimeZone'] = '+08:00';
$cfg['DefaultCharset'] = 'utf8mb4';
$cfg['DefaultConnectionCollation'] = 'utf8mb4_unicode_ci';
$cfg['QueryHistoryMax'] = 50; // 减少历史记录
$cfg['MaxNavigationItems'] = 100; // 限制导航项数量
$cfg['PMA_alert'] = [
'email' => 'dba@example.com',
'threshold' => 'slow_query:5'
];
创建css/custom.css
:
/* 服务器分组颜色标记 */
.server-production { border-left: 4px solid #28a745; }
.server-testing { border-left: 4px solid #ffc107; }
通过合理配置phpMyAdmin的多服务器管理功能,DBA可以高效管理分布式数据库环境。建议: 1. 生产环境务必启用SSL加密 2. 定期备份config.inc.php文件 3. 通过版本控制管理配置变更 4. 结合企业SSO实现统一认证
注意事项:多服务器配置会显著增加安全风险,建议配合防火墙规则限制访问来源,并定期审计数据库账号权限。 “`
(全文约1750字,可根据需要增减具体配置细节)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。