开放自己本机的mysql允许别人连接

以下截图是连接自己本地mysql数据库

在这里插入图片描述

但是如何开发自己本机的mysql数据库给别人呢?需要做以下配置:

备注:这个仅是在局域网下的连接,需要两台电脑使用同一个无线网

1、修改 MySQL 配置文件
打开 MySQL 的配置文件 my.ini。默认情况下,这个文件位于 MySQL 安装目录下的 C:\ProgramData\MySQL\MySQL Server X.Y(X.Y 是你的 MySQL 版本号)。

在这里插入图片描述
直接用记事本打开可能保存不了,会提示你没有管理员权限;需要在左下角搜索记事本应用,右键以管理员身份运行,之后按照上述地址找到my.ini文件,ctrl+F搜索到[mysqld],修改或添加 bind-address 设置,将其更改为 0.0.0.0 或你的计算机的 IP 地址。

[mysqld]

bind-adress = 0.0.0.0

2、重启 MySQL 服务
修改配置文件后,重启 MySQL 服务以使更改生效。你可以通过以下步骤重启服务:
win+r
services.msc
在这里插入图片描述
找到MySQL,右键重启

在这里插入图片描述
3、创建允许远程访问的 MySQL 用户
使用 MySQL 命令行连接到自己的数据库,并创建一个能够从远程地址访问的用户。

mysql -u root -p mydatabase

以下命令会创建一个用户 username,允许任何 IP 地址(%)访问,并授予对 database_name 数据库的所有权限:

CREATE USER 'username'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'%';
FLUSH PRIVILEGES;

4、配置防火墙
确保你的计算机防火墙允许 MySQL 默认端口(3306)的流量。
打开控制面板-系统与安全-Windows Defender 防火墙-高级设置
左侧打开 入站规则;
右侧打开 新建规则:
(1)选择端口,下一步
(2)特定端口,3306
(3)允许连接
(4)设置名称

5、查看本机ip
win+r
cmd
ipconfig
在这里插入图片描述
6、将本机的防火墙关了
在这里插入图片描述
7、用其他人电脑连接本机mysql数据库之前,先查看是否可以ping通该地址
win+r
cmd
ping ip地址

8、远程连接mysql数据库
win+r
cmd
mysql -h IP地址 -P 3306 -u username -p
输入密码

(或者 打开navicat新建连接,输入上述信息也可以)

username和密码是第3步创建能从远程地址访问的用户和密码,ip地址是ipconfig查看的地址(前提是能ping通,才能连接该地址对应的数据库)。

### 如何解决 MySQL允许远程主机连接数据库 #### 修改 MySQL 配置文件以允许远程连接 为了使 MySQL 数据库能够接受来自远程主机的连接请求,在 MySQL 的配置文件 `my.cnf` 或者 `mysqld.cnf` 中,找到 `[mysqld]` 下面的绑定地址设置项 `bind-address` 并将其更改为服务器的实际 IP 地址或者注释掉此行。这一步骤确保了 MySQL 服务监听所有可用接口而非仅仅 localhost[^1]。 ```ini # /etc/my.cnf.d/server.cnf or similar location depending on distribution [mysqld] # bind-address=0.0.0.0 # Uncomment to allow connections from any host, use with caution. ``` #### 调整用户权限以便于远程访问 默认状态下,MySQL 用户账户通常被限定只能从本地登录。对于希望实现远程访问的情况,则需通过 SQL 命令更改特定用户的 Host 字段值为 `%` ,表示该账号可以从任何地方发起连接尝试;也可以指定某个具体的 IP 地址作为限制条件之一[^4]。 ```sql -- 更新现有用户 'remote_user'@'localhost' 支持任意位置登陆 UPDATE user SET Host='%' WHERE User='remote_user'; FLUSH PRIVILEGES; ``` #### 开放防火墙端口 除了上述软件层面的操作外,还需确认操作系统级别的防护措施不会阻碍外部流量进入 MySQL 所使用的 TCP 端口(通常是3306)。可以通过调整 CentOS 上的 firewalld 规则来开放必要的通信通道[^2]: ```bash sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent sudo firewall-cmd --reload ``` #### 测试新的配置是否生效 完成以上步骤之后,建议先重启 MySQL 服务让新设定生效,再利用命令行工具或其他图形界面应用程序测试能否成功建立远程会话[^3]: ```bash mysql -h your_server_ip -u remote_user -p ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zzzzmmmm_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值