本地Mysql开启远程访问(图文)

目录

  • [1. 问题所示](#1. 问题所示)
  • [2. 原理分析](#2. 原理分析)
  • [3. 解决方法](#3. 解决方法)

1. 问题所示

事因是访问同事的数据库时,出现无法访问

java 复制代码
出现1130 - Host 'IT07' is not allowed to connect to this MySQL server

截图如下:

2. 原理分析

如果账号密码地址都正常的情况下,这是没开开启远程访问

  1. 编辑MySQL配置文件 :通常是my.cnf或my.ini,具体取决于你的操作系统和安装方式
    在配置文件中,需要找到bind-address参数,并将其设置为MySQL服务器的IP地址或0.0.0.0,以允许来自任何IP地址的连接

对所有网络接口开放,因此请确保在安全网络环境中执行此操作

sql 复制代码
bind-address = 0.0.0.0
  1. 创建远程访问 :默认情况下,MySQL服务器只允许本地连接(也可使用自带的账户,下述逻辑可忽略)

需要在MySQL中为远程用户创建帐户并授予适当的权限

使用以下命令登录MySQL服务器:

bash 复制代码
mysql -u 用户名 -p

创建一个允许远程访问的用户(例如,用户名为remote_user,密码为password,并允许从任何主机连接):

sql 复制代码
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'password';
  1. 设置远程访问
    授予用户所需的权限,例如,如果用户需要对某个用户进行读写访问:
sql 复制代码
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
  1. 刷新权限以确保更改生效:
sql 复制代码
FLUSH PRIVILEGES;

命令行结束之后还需要开启端口映射

具体步骤如下:在window中搜索高级安全Windows Defender防火墙的入站规则

开启本地端口的映射:

如果执行到这一步还不行

请完善后续两步操作

  • 防火墙设置:服务器上启用了防火墙,请确保允许MySQL服务器的TCP端口(通常是3306端口)的流量通过防火墙
  • 重启MySQL服务:保存并关闭配置文件后,重新启动MySQL服务器以使更改生效

3. 解决方法

最终操作完成后,可以进行访问:

相关推荐
野猪亨利66713 小时前
Qt day1
开发语言·数据库·qt
siriuuus13 小时前
Linux MySQL 多实例部署与配置实践
linux·运维·mysql
本就一无所有 何惧重新开始13 小时前
Redis技术应用
java·数据库·spring boot·redis·后端·缓存
isaki13713 小时前
qt day1
开发语言·数据库·qt
流星白龙13 小时前
【Qt】4.项目文件解析
开发语言·数据库·qt
小钻风336613 小时前
HTTPS是如何确保安全的
网络·数据库
王木风14 小时前
1分钟理解什么是MySQL的Buffer Pool和LRU 算法?
前端·mysql
CryptoPP14 小时前
获取越南股票市场列表(包含VN30成分股)实战指南
大数据·服务器·数据库·区块链
阿巴~阿巴~15 小时前
Redis重大版本演进全解析:从2.6到7.0
服务器·数据库·redis·ubuntu·缓存·centos
qq_4046433416 小时前
MySQL中RUNCATE、DELETE、DROP 的基本介绍
数据库·mysql