讲师中心 微信公众号
AI工具推荐 视频效率加速

如何在Kali Linux中快速完成MySQL环境搭建 渗透测试数据库环境搭建与安全配置

小磊君_1472

小磊君_1472

发布时间:2026-04-02 13:23:04

|

441人浏览过

|

来源于php中文网

原创

Kali Linux 2023.4+默认不预装MySQL,而是预装mariadb-server;运行mysql -u root -p报错2002说明服务未安装或未启动,需先确认dpkg -l | grep mariadb,再按需安装/启动并执行mysql_secure_installation加固。

如何在kali linux中快速完成mysql环境搭建 渗透测试数据库环境搭建与安全配置

MySQL服务是否已预装?检查Kali默认状态

Kali Linux 2023.4 及之后版本默认不启动 MySQL,也不预装 mysql-server;它用的是 mariadb-server(兼容 MySQL 协议,但非 Oracle 官方 MySQL)。直接运行 mysql -u root -p 很可能报错 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'——这不是密码错,是服务根本没装或没启。

  • 先确认:运行 dpkg -l | grep mariadb,若输出含 mariadb-server,说明已装 MariaDB
  • 若想用官方 MySQL(如需特定漏洞模块、审计工具依赖),必须手动卸载 MariaDB 并添加 Oracle APT 源,否则 apt install mysql-server 仍会装 MariaDB
  • 启动服务统一用:sudo systemctl start mariadb 或 sudo systemctl start mysql(取决于你装的是哪个)

初始化安全配置:别跳过 mysql_secure_installation

新装的 MariaDB/MySQL 默认 root 用户无密码、允许空密码登录、开放匿名用户、允许任意主机远程连接——这对渗透测试环境是高危配置,哪怕只在本地用。必须立即运行 mysql_secure_installation。

  • 执行后按提示操作:设 root 密码(务必记牢)、删匿名用户、禁用远程 root 登录、删 test 数据库、重载权限表
  • 注意:Kali 中该脚本可能因 systemd socket 激活机制失败,报错 Failed! Error: Access denied for user 'root'@'localhost'。此时先用 sudo mysql -u root(不加 -p)进库,再执行 ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_strong_pass'; FLUSH PRIVILEGES;,再退出重试脚本
  • 该步骤不是“可选优化”,而是防止靶机数据库被反向利用的关键防线

创建渗透专用数据库与低权限用户

绝不直接用 root 操作测试数据。应为每个靶机或项目建独立数据库,并分配仅具备必要权限的用户。

MySQL
MySQL

编写正确的MySQL查询,避免字符集、索引和锁方面的常见陷阱。

下载
  • 进库后执行:CREATE DATABASE dvwa CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  • 创建用户:CREATE USER 'dvwa_user'@'localhost' IDENTIFIED BY 'p4ssw0rd!';
  • 授最小权限:GRANT SELECT, INSERT, UPDATE, DELETE ON dvwa.* TO 'dvwa_user'@'localhost';
  • 禁止远程访问(除非明确需要):REVOKE ALL PRIVILEGES ON *.* FROM 'dvwa_user'@'%';
  • 验证权限是否生效:SHOW GRANTS FOR 'dvwa_user'@'localhost';

监听地址与防火墙:本地测试务必绑定 127.0.0.1

默认 MariaDB/MySQL 配置中 bind-address = 127.0.0.1 是安全的,但有人为“方便调试”改成 0.0.0.0,这会让数据库暴露在局域网甚至公网——Kali 常作为攻击机直连靶机网络,极易被反扫。

  • 检查配置文件:sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf(MariaDB)或 /etc/mysql/mysql.conf.d/mysqld.cnf(官方 MySQL)
  • 确认 bind-address 行未被注释且值为 127.0.0.1;若存在 skip-networking,需删除或注释掉,否则本地 socket 也无法连接
  • UFW 若启用,确保没开 3306 端口:sudo ufw status;如有,执行 sudo ufw deny 3306
  • 改完重启服务:sudo systemctl restart mariadb(或 mysql)

实际搭建中,最常被忽略的是配置文件里多个 bind-address 出现在不同 conf 片段中,systemd 加载时以最后一个为准——务必全局搜索确认。

热门AI工具

更多
WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

相关专题

更多
mysql修改数据表名
mysql修改数据表名

MySQL修改数据表:1、首先查看数据库中所有的表,代码为:‘SHOW TABLES;’;2、修改表名,代码为:‘ALTER TABLE 旧表名 RENAME [TO] 新表名;’。php中文网还提供MySQL的相关下载、相关课程等内容,供大家免费下载使用。

2173

2023.06.20

MySQL创建存储过程
MySQL创建存储过程

存储程序可以分为存储过程和函数,MySQL中创建存储过程和函数使用的语句分别为CREATE PROCEDURE和CREATE FUNCTION。使用CALL语句调用存储过程智能用输出变量返回值。函数可以从语句外调用(通过引用函数名),也能返回标量值。存储过程也可以调用其他存储过程。php中文网还提供MySQL创建存储过程的相关下载、相关课程等内容,供大家免费下载使用。

1339

2023.06.21

mongodb和mysql的区别
mongodb和mysql的区别

mongodb和mysql的区别:1、数据模型;2、查询语言;3、扩展性和性能;4、可靠性。本专题为大家提供mongodb和mysql的区别的相关的文章、下载、课程内容,供大家免费下载体验。

775

2023.07.18

mysql密码忘了怎么查看
mysql密码忘了怎么查看

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql密码忘了怎么办呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2972

2023.07.19

mysql创建数据库
mysql创建数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql怎么创建数据库呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

4988

2023.07.25

mysql默认事务隔离级别
mysql默认事务隔离级别

MySQL是一种广泛使用的关系型数据库管理系统,它支持事务处理。事务是一组数据库操作,它们作为一个逻辑单元被一起执行。为了保证事务的一致性和隔离性,MySQL提供了不同的事务隔离级别。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

1139

2023.08.08

sqlserver和mysql区别
sqlserver和mysql区别

SQL Server和MySQL是两种广泛使用的关系型数据库管理系统。它们具有相似的功能和用途,但在某些方面存在一些显著的区别。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

5251

2023.08.11

mysql忘记密码
mysql忘记密码

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。那么忘记mysql密码我们该怎么解决呢?php中文网给大家带来了相关的教程以及其他关于mysql的文章,欢迎大家前来学习阅读。

4622

2023.08.14

PixTV官网入口地址合集
PixTV官网入口地址合集

本专题汇总了 PixTV AI 一站式视频创作平台的官方入口与使用教程。无需下载软件,浏览器直接访问即可使用。平台将剧本、图像、视频、声音与剪辑整合在“无限画布”中,接入 GPT Image 2.5、Seedance 2.5 等头部模型。本专题整理了从新建画布、角色锚定、分镜拆分到视频生成与导出的完整操作指南,助你快速上手 AI 短剧与漫剧创作。

40

2026.10.10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL vs MySQL
PostgreSQL vs MySQL

共1课时 | 183人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn