尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

深入解析:在 Kali Linux 上配置 MySQL 服务器并实现 Windows 远程连接

深入解析:在 Kali Linux 上配置 MySQL 服务器并实现 Windows 远程连接
📅 发布时间:2026/6/18 21:51:38

深入解析:在 Kali Linux 上配置 MySQL 服务器并实现 Windows 远程连接

Kali Linux 默认预装 MariaDB(MySQL 的开源分支),无需额外安装即可配置和使用。本教程将指导您完成 MariaDB 服务的启动、配置、区分本地和远程 root 用户,以及通过 Windows 客户端(如 Navicat)进行远程连接的完整流程。

1. 区分本地和远程 root 用户

在开始之前,我们需要了解一些基础知识。MariaDB 的用户权限基于 用户名 + 主机名 的组合定义。'root'@'localhost' 和 'root'@'%' 是两个不同的用户账户,尽管用户名都是 root。

属性本地 root 用户 ('root'@'localhost')远程 root 用户 ('root'@'%')
主机名 (Host)localhost%(任意主机)或特定 IP/域名
访问方式仅限本地主机登录(如终端)可从远程主机登录(如 Windows 客户端)
默认存在默认存在(Kali 安装 MariaDB 时创建)默认不存在,需手动创建
典型用途本地管理数据库远程管理数据库
连接示例mariadb -u root -pmysql -h <Kali_IP> -u root -p
  • 本地 root ('root'@'localhost'): 默认存在,仅允许从运行 MariaDB 的本地主机登录,使用 Unix 套接字或 127.0.0.1。
  • 远程 root ('root'@'%'): 默认不存在,需显式创建,允许从任意主机通过网络连接。

验证用户:
登录 MariaDB:

sudo mariadb -u root -p

查询用户列表:

SELECT User, Host FROM mysql.user;

示例输出:

+------+-----------+
| User | Host      |
+------+-----------+
| root | localhost |
+------+-----------+

若无 'root'@'%',需创建以支持远程连接。

2. 启动 MariaDB 服务

Kali 默认已安装 MariaDB,启动服务并设置开机自启:

# 启动 MariaDB 服务
sudo systemctl start mariadb
# 设置开机自启
sudo systemctl enable mariadb

在这里插入图片描述
(如图,mysql 和 mariadb 其实是同一个服务)

验证服务状态:

sudo systemctl status mariadb

3. 配置本地 root 用户(可选)

为增强安全性,运行安全配置向导,设置 root@localhost 密码并移除不安全默认设置:

sudo mariadb-secure-installation

按提示操作,建议:

  • 启用密码验证插件(VALIDATE PASSWORD PLUGIN)。
  • 为 root@localhost 设置强密码。
  • 移除匿名用户和测试数据库。
  • 禁用远程 root 登录(若无需远程 root 访问)。

注意:Kali 的 MariaDB 默认已较为安全,运行此脚本可能提示无需更改。若跳过此步骤,确保 root@localhost 已设置强密码。

验证本地登录:

sudo mariadb -u root -p

输入密码,进入 MariaDB [(none)]> 提示符表示配置正常。

4. 配置远程连接

为允许 Windows 客户端连接,需修改监听地址并授权远程用户。

4.1 修改监听地址

默认 MariaDB 仅监听本地地址(127.0.0.1)。为允许远程连接,修改配置文件:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

找到:

bind-address = 127.0.0.1

改为:

bind-address = 0.0.0.0

保存退出后,重启服务:

sudo systemctl restart mariadb

4.2 创建并授权远程 root 用户

登录 MariaDB:

sudo mariadb -u root -p

根据需求选择:

选项 1:创建带空密码的 'root'@'%'(仅限测试)

CREATE USER 'root'@'%' IDENTIFIED BY '';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

选项 2:创建带强密码的 'root'@'%'(推荐)

CREATE USER 'root'@'%' IDENTIFIED BY 'YourStrongPasswordHere';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

警告:空密码极不安全,仅用于临时测试。生产环境必须设置强密码或使用专用用户。

若 'root'@'%' 已存在:
修改密码:

ALTER USER 'root'@'%' IDENTIFIED BY 'YourStrongPasswordHere';
FLUSH PRIVILEGES;

4.3 开放防火墙端口

若启用防火墙(如 UFW),允许 3306 端口:

sudo ufw allow 3306/tcp

5. Windows 客户端验证连接

在 Windows 使用命令行或客户端(如 Navicat)测试连接:

mysql -h  -P 3306 -u root -p

在这里插入图片描述

连接正常,成功进入!

6. 安全收尾

测试完成后,删除远程用户或设置强密码,并恢复本地监听:

6.1 撤销或更新远程用户

登录 MariaDB:

sudo mariadb -u root -p

执行:

-- 删除远程用户
DROP USER 'root'@'%';
-- 或设置强密码
ALTER USER 'root'@'%' IDENTIFIED BY 'YourStrongPasswordHere';
FLUSH PRIVILEGES;

6.2 恢复本地监听

编辑配置文件:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

将 bind-address 改回:

bind-address = 127.0.0.1

重启服务:

sudo systemctl restart mariadb

7. 注意事项

  • 安全性:

    • 避免使用空密码或允许 root 远程登录。生产环境建议创建专用用户(如 'remote_user'@'%'):
      CREATE USER 'remote_user'@'%' IDENTIFIED BY 'StrongPassword';
      GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
      FLUSH PRIVILEGES;
    • 远程 root 权限过高,仅在必要时使用。
  • 网络:

    • 确保 Kali 和 Windows 在同一网络内,无防火墙或网络策略阻拦 3306 端口。
    • 测试连通性:ping <Kali_IP> 或 telnet <Kali_IP> 3306。
  • 错误排查:

    • 查看 MariaDB 日志:sudo tail -f /var/log/mysql/error.log。
    • 确认用户存在:SELECT User, Host FROM mysql.user;。
    • 若报错 ERROR 1133 (28000),说明 'root'@'%' 不存在,需用 CREATE USER 创建。
  • 版本兼容性:

    • MariaDB 10.4+ 推荐使用 CREATE USER 和 ALTER USER,避免 GRANT ... IDENTIFIED BY。
    • 检查版本:mariadb --version。

相关新闻

  • 2025年如何选餐饮设计哪家靠谱
  • 2025年农业专利申请排行榜
  • 10月第三篇笔记

最新新闻

  • 2026年石家庄市CPPM考试最新全攻略:科目题型、通过率、备考重点及官方双认证报考机构推荐 - 众智商学院课程中心
  • 谷歌Gemini联席负责人跳槽OpenAI,AI人才争夺战再升级!
  • 深度解析银狐木马攻击链:从社工投递到白利用的防御实战
  • 高速MOSFET驱动器MCP14E9选型、设计与调试全解析
  • Claude Opus 4.7模型幻觉实测:指令遵循退化与事实锚定危机
  • 【FDTD+UPML+全场/散射场】具有TF/SF接口和UPML吸收边界的2D FDTD研究(Matlab代码实现)

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号