这大概是数据库配置时的错误。
打开 SQLi-Labs 的数据库配置文件(路径通常为):
nano /var/www/html/sqli-labs/sql-connections/db-creds.inc
确保以下配置项与你创建的数据库用户一致:
如果密码错误:比如你创建用户时密码是 security
,但配置文件中写成了 sqllab
,需统一为同一密码。
登录 MySQL 检查用户是否存在:
在 MySQL 命令行中:
SELECT User, Host, plugin FROM mysql.user WHERE User = 'sqllab';
若用户不存在:重新创建用户并授权
CREATE USER 'sqllab'@'localhost' IDENTIFIED BY 'security'; # 密码与配置文件一致 GRANT ALL PRIVILEGES ON security.* TO 'sqllab'@'localhost'; # 仅授权给 security 数据库 FLUSH PRIVILEGES; # 刷新权限
测试用户能否独立登录:
mysql -u sqllab -p # 输入密码 security
若登录失败,说明密码错误,需重置密码:
ALTER USER 'sqllab'@'localhost' IDENTIFIED BY 'security'; # 重新设置密码
然后打开 SQLi-Labs 的数据库配置文件(路径通常为):
nano /var/www/html/sqli-labs/sql-connections/db-creds.inc
确保以下配置项与你创建的数据库用户一致:
确保 MariaDB/MySQL 服务已启动:
systemctl status mysql # 或 mariadb
systemctl start mysql # 若未启动则启动
完成上述步骤后,刷新浏览器页面,再次点击 "Setup/reset Database for labs",脚本会尝试重新连接数据库并创建表结构。