CentOS下SQLAdmin配置指南(以MySQL为例)
SQLAdmin通常指用于管理MySQL数据库的Web工具(如phpMyAdmin或MySQL官方Admin工具),以下是在CentOS系统上的详细配置流程及注意事项:
sudo yum update -y # 更新系统包
sudo yum install -y mysql-server # 安装MySQL服务器
sudo systemctl start mysqld # 启动MySQL服务
sudo systemctl enable mysqld # 设置开机自启
sudo mysql_secure_installation
按提示设置root密码、删除匿名用户、禁止root远程登录等,提升数据库安全性。
为避免使用root账户操作,需创建专用用户并授权:
mysql -u root -p # 登录MySQL
在MySQL命令行中执行:
CREATE USER 'sqladmin'@'localhost' IDENTIFIED BY 'YourStrongPassword123!';
GRANT ALL PRIVILEGES ON *.* TO 'sqladmin'@'localhost' WITH GRANT OPTION; # 授予所有数据库权限
FLUSH PRIVILEGES; # 刷新权限
exit; # 退出MySQL
注:若需远程访问,将
localhost改为%,并配置防火墙允许3306端口。
SQLAdmin(如phpMyAdmin)需Web服务器(Apache/Nginx)和PHP环境支持:
sudo yum install -y httpd
sudo systemctl start httpd
sudo systemctl enable httpd
sudo yum install -y php php-mysqlnd php-gd php-mbstring php-xml
sudo systemctl restart httpd # 重启Apache以加载PHP模块
若SELinux处于Enforcing模式,执行:
sudo setsebool -P httpd_can_network_connect_db 1
以phpMyAdmin(常用MySQL管理工具)为例:
cd /var/www/html # 进入Web根目录
sudo wget https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz # 下载最新版
sudo tar -zxvf phpMyAdmin-5.2.1-all-languages.tar.gz # 解压
sudo mv phpMyAdmin-5.2.1-all-languages sqladmin # 重命名为sqladmin
sudo chown -R apache:apache sqladmin # 设置目录权限(Apache用户)
编辑配置文件:
sudo nano /var/www/html/sqladmin/config.inc.php
修改以下参数:
$cfg['blowfish_secret'] = 'YourRandomStringHere'; // 用于cookie加密(需16位以上随机字符)
$cfg['DefaultLang'] = 'zh_cn'; // 设置默认语言为中文(可选)
$cfg['Servers'][$i]['auth_type'] = 'cookie'; // 使用cookie认证(更安全)
$cfg['Servers'][$i]['AllowNoPassword'] = false; // 禁止空密码登录
若需自定义域名,编辑Apache配置文件:
sudo nano /etc/httpd/conf.d/sqladmin.conf
添加:
<VirtualHost *:80>
ServerName sqladmin.yourdomain.com
DocumentRoot /var/www/html/sqladmin
<Directory /var/www/html/sqladmin>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/httpd/sqladmin_error.log
CustomLog /var/log/httpd/sqladmin_access.log combined
</VirtualHost>
重启Apache:
sudo systemctl restart httpd
打开浏览器,输入http://your_server_ip/sqladmin(或自定义域名),使用sqladmin用户登录即可管理数据库。
防火墙配置:开放HTTP(80)/HTTPS(443)端口:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
定期备份:使用mysqldump备份数据库:
mysqldump -u sqladmin -p --all-databases > /backup/all_databases.sql
密码策略:定期更换sqladmin用户密码,避免使用弱密码。
systemctl status httpd)、防火墙是否放行端口、SELinux是否阻止访问。sqladmin用户权限是否正确(mysql -u root -p -e "SHOW GRANTS FOR 'sqladmin'@'localhost';")、密码是否输入正确。config.inc.php文件语法(如$cfg['blowfish_secret']未设置会导致登录失败)。