温馨提示×

centos中mysql如何故障排查

小樊
50
2025-09-03 15:36:41
栏目: 云计算

CentOS中MySQL故障排查可按以下步骤进行:

  1. 检查服务状态

    sudo systemctl status mysqld  # 查看服务是否运行  
    sudo systemctl start mysqld   # 启动服务(若未运行)  
    
  2. 查看错误日志

    sudo tail -f /var/log/mysqld.log  # 实时查看错误日志  
    grep -i "error" /var/log/mysqld.log  # 过滤错误信息  
    
  3. 排查配置文件
    检查/etc/my.cnf/etc/mysql/my.cnf,重点关注datadirportsocket等配置是否正确,确保语法无误。

  4. 处理端口冲突

    sudo netstat -tulnp | grep 3306  # 查看端口占用情况  
    sudo kill -9 <PID>  # 结束占用进程(若需修改端口,需同步修改配置文件)  
    
  5. 检查权限与文件系统

    sudo chown -R mysql:mysql /var/lib/mysql  # 确保数据目录权限正确  
    sudo chmod -R 700 /var/lib/mysql  
    df -h  # 检查磁盘空间是否充足  
    
  6. 分析性能与连接问题

    • 慢查询:启用慢查询日志,使用pt-query-digestmysqldumpslow分析。
    • 连接数不足:调整max_connections参数,或优化应用连接池。
    • InnoDB故障:通过SHOW ENGINE INNODB STATUS\G查看状态,必要时设置innodb_force_recovery修复。
  7. 修复数据与表

    sudo mysqlcheck -u root -p --all-databases --auto-repair  # 修复表  
    sudo mysql_upgrade --force  # 修复系统表(如mysql库损坏)  
    
  8. 其他高级操作

    • 主从复制问题:通过SHOW SLAVE STATUS查看延迟,使用SQL_SLAVE_SKIP_COUNTER跳过错误或重建复制。
    • SELinux影响:临时关闭SELinux验证是否为权限问题:setenforce 0

提示:操作前建议备份数据,若自行处理无效,可联系专业支持或参考MySQL官方文档。[1,2,3,4,5,6,7,8,9,10]

0