CentOS中SQLAdmin故障排查指南
首先记录故障的具体表现(如连接失败、页面404、加载缓慢、操作无权限等),这是排查的基础方向。例如,若无法连接数据库,需关注网络或服务状态;若页面显示异常,需检查Web服务器配置。
journalctl -xe查看系统日志,或检查/var/log/messages、/var/log/secure中的错误信息(如服务启动失败、权限拒绝等);systemctl status sqladmin(部分系统可能为mssql-server或mysqld),若未运行,使用systemctl start sqladmin启动,并通过systemctl enable sqladmin设置开机自启;systemctl status mysqld或systemctl status postgresql)。ping <数据库服务器IP>检查网络是否可达;若为远程连接,使用telnet <IP> <端口>(如telnet 192.168.1.100 3306)验证端口是否开放;firewall-cmd --list-ports查看防火墙是否允许SQLAdmin端口(MySQL默认3306、SQL Server默认1433),若未开放,运行firewall-cmd --permanent --zone=public --add-port=<端口>/tcp并firewall-cmd --reload;/etc/sqladmin/sqladmin.conf或~/.sqladmin/config)中的主机名、端口、用户名、密码是否正确,确保与数据库实际配置一致。/etc/sqladmin/目录通常需属主为root、组为sqladmin,权限设为640(sudo chown root:sqladmin /etc/sqladmin/ && sudo chmod 640 /etc/sqladmin/*);数据库配置文件(如/etc/my.cnf)也需限制为root可读;Enforcing模式,可能阻止SQLAdmin访问数据库。可临时禁用测试(setenforce 0),若问题解决,需修改/etc/selinux/config中的SELINUX=disabled并重启系统;sqladmin.conf中的[server]、[database]段落是否有误),可使用对应工具验证(如apachectl configtest用于Apache集成的SQLAdmin)。使用命令行工具(如mysql或sqlcmd)直接连接数据库,验证数据库本身是否正常。例如:
mysql -h <主机名> -P <端口> -u <用户名> -p,输入密码后若能登录,说明数据库服务正常;sqlcmd -S <主机名> -U <用户名> -P <密码>,若能进入命令行,说明数据库可访问。若命令行连接失败,需优先解决数据库本身的问题(如密码错误、用户权限不足)。/var/log/sqladmin/目录下(如error.log、access.log),查看是否有连接拒绝、认证失败、超时等错误信息;/var/log/mysqld.log,PostgreSQL日志位于/var/log/postgresql/目录下,检查是否有SQL语法错误、权限拒绝、连接数超限等问题;journalctl -u sqladmin或/var/log/messages,结合SQLAdmin和数据库日志定位具体原因(如服务崩溃、资源不足)。top查看CPU/内存占用,df -h查看磁盘空间),或优化数据库查询(如添加索引、减少复杂查询);yum list installed | grep sqladmin检查SQLAdmin及其依赖包是否完整,若有缺失,使用yum install <包名>安装。