You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cpanel主机迁移后CodeIgniter网站MySQL连接权限错误求助

解决Cpanel迁移后CodeIgniter数据库连接及MySQL问题

核心错误分析

你遇到的核心错误明确指向数据库连接权限或配置问题:

CodeIgniter\Database\Exceptions\DatabaseException #8
Unable to connect to the database.
Main connection [MySQLi]: Access denied for user '****'@'localhost' (using password:YES)


排查修复步骤

1. 核对CodeIgniter数据库配置文件

找到项目对应的配置文件:

  • CodeIgniter 3:application/config/database.php
  • CodeIgniter 4:app/Config/Database.php
    逐一检查以下字段,确保和新主机Cpanel里的数据库信息完全匹配:
  • hostname:Cpanel主机一般为localhost,部分主机可能用专属IP,以新主机面板显示为准
  • username:注意Cpanel数据库用户名带主机前缀(格式通常为主机前缀_用户名),和旧主机可能不同
  • password:确认密码大小写、特殊字符和新主机设置的一致,不要复制粘贴时带多余空格
  • database:新主机上导入的数据库名称,同样注意前缀差异

2. 验证数据库用户权限

通过新主机Cpanel进入MySQL数据库管理界面:

  • 确认创建的数据库用户已关联到目标数据库,且拥有ALL PRIVILEGES权限
  • 用SSH直接测试用户登录:
    mysql -u 你的数据库用户名 -p
    
    输入密码登录成功后,切换到目标数据库:
    USE 你的数据库名;
    
    这两步无报错,说明用户权限正常,问题出在配置文件。

3. 检查数据库导入完整性

迁移时若用phpMyAdmin或mysqldump导入,可能出现导入不完整:

  • 对比新旧数据库的表数量、数据量,确认所有表、数据、触发器、存储过程都已导入
  • 查看导入日志,排查是否有字符集不兼容、表结构报错等问题

4. 清理CodeIgniter缓存

  • CodeIgniter 3:删除application/cache下所有文件
  • CodeIgniter 4:删除writable/cache和writable/session下的文件
  • 同时清理浏览器缓存,避免旧配置残留

5. 确认MySQL服务状态

通过SSH执行命令检查并重启服务:

# 查看状态
systemctl status mysqld
# 重启服务(Cpanel专用命令)
/scripts/restartsrv_mysql

若服务异常,查看MySQL错误日志(/var/log/mysqld.log或Cpanel面板日志工具)定位问题


其他关联问题修复

你提到的后续MySQL相关问题(如找不到表、操作报错等),大多是配置不匹配、导入不完整或权限不足导致的,按上述步骤排查后基本都能解决:

  • 表不存在报错:确认数据库导入完整,Linux主机注意表名大小写区分
  • 数据库操作失败:检查用户是否有对应表的INSERT/UPDATE等操作权限

内容的提问来源于stack exchange,提问作者Muhammed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 21:05:24