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

TestLink 1.9.17搭配MySQL5.6安装时出现数据库访问错误

看到你遇到的这个数据库访问错误,问题出在TestLink执行创建testcase_script_links表的SQL语句时失败了。结合你的环境(TestLink 1.9.17 + MySQL 5.6),我整理了几个常见的排查和解决方法:

1. 检查数据库用户权限

首先确认你给TestLink配置的数据库用户拥有足够的操作权限:

  • 登录MySQL控制台,执行以下命令(替换your_testlink_db和your_user为你的实际数据库名和用户名):
    SHOW GRANTS FOR 'your_user'@'localhost';
    
  • 如果权限不足,直接给用户授予目标数据库的全部权限:
    GRANT ALL PRIVILEGES ON your_testlink_db.* TO 'your_user'@'localhost';
    FLUSH PRIVILEGES;
    

2. 调整MySQL的sql_mode设置

MySQL 5.6的默认sql_mode包含严格校验规则,可能和TestLink的SQL语句冲突:

  • 打开MySQL的配置文件(你用的是EasyPHP,可在EasyPHP的配置目录中找到my.ini)
  • 在[mysqld]节点下添加或修改:
    sql_mode=NO_ENGINE_SUBSTITUTION
    
  • 重启MySQL服务后,重新运行TestLink的初始化流程

3. 清理数据库残留数据

如果是重新安装TestLink,可能存在旧表残留导致创建失败:

  • 登录MySQL控制台,先检查目标表是否存在:
    USE your_testlink_db;
    SHOW TABLES LIKE '%testcase_script_links%';
    
  • 如果存在,删除该表后重新初始化:
    DROP TABLE IF EXISTS testcase_script_links;
    

4. 手动执行SQL语句排查具体错误

如果上述方法无效,可以手动执行出错的SQL语句,获取更精准的错误提示:

  • 复制错误日志中的CREATE TABLE语句,替换/*prefix*/为你设置的表前缀(无前缀则直接删除该标识):
    CREATE TABLE testcase_script_links ( 
      `tcversion_id` int(10) unsigned NOT NULL default '0', 
      `project_key` varchar(64) NOT NULL, 
      `repository_name` varchar(64) NOT NULL, 
      `code_path` varchar(255) NOT NULL, 
      `branch_name` varchar(64) default NULL, 
      `commit_id` varchar(40) default NULL, 
      PRIMARY KEY (`tcversion_id`,`project_key`,`repository_name`,`code_path`) 
    ) DEFAULT CHARSET=utf8;
    
  • 在MySQL控制台执行这条语句,根据返回的具体错误信息(比如字段长度、主键冲突等)针对性解决

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 10:00:20