如何让别人可以连接我本地的数据库使用

要让别人连接你本地的 MySQL 数据库,需完成配置 MySQL 允许远程连接、创建远程用户、开放网络权限这三个核心步骤,以下是详细操作指南:

一、修改 MySQL 配置文件(允许远程监听)

MySQL 默认仅允许本地(localhost)连接,需修改配置使其监听所有 IP:

  1. 找到配置文件

    • Windows:通常在 C:\ProgramData\MySQL\MySQL Server X.Y\my.ini(需以管理员身份编辑)。
    • Linux:通常在 /etc/mysql/mysql.conf.d/mysqld.cnf/etc/my.cnf
  2. 修改bind-address

    [mysqld] 段落下,将 bind-address = 127.0.0.1 改为:

    bind-address = 0.0.0.0
    

    0.0.0.0 表示监听所有 IP 地址的连接)

二、创建并授权远程用户

为了安全,建议不要直接用root用户远程连接,而是创建专用的远程用户:

  1. 登录本地 MySQL

    打开终端或命令提示符,执行:

    mysql -u root -p
    

    输入root用户密码登录。

  2. 创建远程用户并授权

    执行以下 SQL 语句(替换username为你想创建的用户名,password为强密码,database_name为需访问的数据库):

    CREATE USER 'username'@'%' IDENTIFIED BY 'password';
    GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'%';
    FLUSH PRIVILEGES;
    
    • '%' 表示允许该用户从任意 IP连接;若需限制特定 IP,可将%替换为具体 IP(如'192.168.1.100')。
    • 若需开放所有数据库权限,可将database_name.*改为*.*

三、重启 MySQL 服务

修改配置后需重启服务使设置生效:

  • Windows:

    Win+R 输入 services.msc,找到 “MySQL” 服务,右键重启

  • Linux:

    执行命令:

    sudo systemctl restart mysql
    

四、配置防火墙与网络(开放 3306 端口)

MySQL 默认端口是3306,需确保防火墙允许该端口的入站连接:

1. Windows 防火墙配置

  • 打开控制面板→系统与安全→Windows Defender 防火墙→高级设置
  • 点击入站规则→新建规则,选择 “端口”,输入3306,选择 “允许连接”,完成规则创建。

2. Linux 防火墙配置(以 UFW 为例)

执行命令开放3306端口:

sudo ufw allow 3306/tcp
sudo ufw reload

3. 局域网环境注意事项

若双方在同一局域网(如同一 WiFi),需确认你的本地 IP(按Win+R输入cmd,执行ipconfig查看 “IPv4 地址”),并确保对方能ping通你的 IP(对方执行ping 你的本地IP)。

五、测试远程连接

对方可通过 MySQL 客户端工具(如 Navicat、DBeaver)或命令行连接:

  • 命令行方式

    对方在终端执行:

    mysql -h 你的本地IP -P 3306 -u username -p
    

    输入你创建的用户密码,若能成功登录则配置完成。

  • 工具方式

    以 Navicat 为例,新建连接时填写:

    • 主机:你的本地 IP

    • 端口:3306

    • 用户名 / 密码:你创建的远程用户信息

      点击 “测试连接”,成功则可正常使用。

安全提示

  • 尽量避免使用%(任意 IP)授权,优先限制为具体 IP 或 IP 段,降低安全风险。
  • 使用强密码(包含大小写字母、数字、特殊字符),并定期更换。
  • 若需对外网开放,建议结合 “内网穿透” 工具(如花生壳)或 VPN,避免直接暴露本地 MySQL 到公网。
posted @ 2025-11-18 15:46  Milchs  阅读(189)  评论(0)    收藏  举报