1. 问题所示
事因是访问同事的数据库时,出现无法访问
出现1130 - Host ‘IT07’ is not allowed to connect to this MySQL server
截图如下:
2. 原理分析
如果账号密码地址都正常的情况下,这是没开开启远程访问
- 编辑MySQL配置文件:通常是my.cnf或my.ini,具体取决于你的操作系统和安装方式
在配置文件中,需要找到bind-address
参数,并将其设置为MySQL服务器的IP地址或0.0.0.0,以允许来自任何IP地址的连接
对所有网络接口开放,因此请确保在安全网络环境中执行此操作
bind-address = 0.0.0.0
- 创建远程访问:默认情况下,MySQL服务器只允许本地连接
(也可使用自带的账户,下述逻辑可忽略)
需要在MySQL中为远程用户创建帐户并授予适当的权限
使用以下命令登录MySQL服务器:
mysql -u 用户名 -p
创建一个允许远程访问的用户(例如,用户名为remote_user,密码为password,并允许从任何主机连接):
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'password';
- 设置远程访问
授予用户所需的权限,例如,如果用户需要对某个用户进行读写访问:
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
- 刷新权限以确保更改生效:
FLUSH PRIVILEGES;
命令行结束之后还需要开启端口映射
具体步骤如下:在window中搜索高级安全Windows Defender防火墙的入站规则
开启本地端口的映射:
如果执行到这一步还不行
请完善后续两步操作
- 防火墙设置:服务器上启用了防火墙,请确保允许MySQL服务器的TCP端口(通常是3306端口)的流量通过防火墙
- 重启MySQL服务:保存并关闭配置文件后,重新启动MySQL服务器以使更改生效
3. 解决方法
最终操作完成后,可以进行访问: