workbech等远程工具无法连接虚拟机中的mysql服务器的问题解决

本文介绍了解决Workbench等远程工具无法连接虚拟机中MySQL服务器的方法。包括修改配置文件、调整用户权限设置,并确保远程访问功能正常运行。

workbech等远程工具无法连接虚拟机中的mysql服务器的问题解决

1获取linux的root权限,到/etc/mysql/mysql.conf.d目录下使用vi编辑器修改mysqld.cnf配置文件
  • 如下图使用 # 注释 blind-address这一行在这里插入图片描述
  • 保存并退出
2 以root身份登录mysql,查看mysql数据库下的user表格
  • select user,host from user;
  • 对照表格将需要链接的用户的host属性改为%,如下图所示:
  • 在这里插入图片描述
3 然后授予chh相应的访问数据库的权限,这里授予最大权限
  • GRANT ALL PRIVILEGES ON *.* TO 'chh'@'%' WITH GRANT OPTION;
  • flush previleges;
4 最后测试链接
  • ps:如果一开始就执行授权语句可能会报错(别问我,我在这个问题上已经耽误了两个小时了T_T)
### 如何通过远程方式连接位于虚拟机上的 MySQL 数据库 为了成功从远程位置访问运行在虚拟机中的 MySQL 数据库,需要完成以下几个方面的配置: #### 1. **确认虚拟机与主机的网络连接** 确保虚拟机和宿主机之间能够互相通信。可以通过 `ping` 命令测试两者之间的连通性。如果无法 ping 通,则需检查虚拟机的网络设置是否为桥接模式或者 NAT 模式的端口转发已正确配置[^2]。 #### 2. **修改 MySQL 配置文件以支持外部连接** 默认情况下,MySQL 只监听本地回环接口(即仅允许来自同一台机器的请求)。编辑 MySQL 的配置文件 `/etc/mysql/my.cnf` 或者 `/etc/my.cnf`,找到并更改绑定地址: ```bash bind-address = 0.0.0.0 ``` 此操作使得 MySQL 能够接受任何 IP 地址发起的连接请求。完成后重启 MySQL 服务以使更改生效: ```bash sudo systemctl restart mysql ``` #### 3. **创建具有权限的用户账户** 登录到 MySQL 控制台,并执行以下 SQL 命令来创建一个新的用户,该用户可以从任意 IP 进行访问(也可以指定特定的客户端 IP 来增强安全性): ```sql CREATE USER 'remote_user'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%'; FLUSH PRIVILEGES; ``` 上述命令会授予新用户完全控制权;实际应用中可以根据需求调整授权范围[^1]。 #### 4. **防火墙规则开放必要端口** 确保服务器的操作系统防火墙允许 MySQL 默认使用的 TCP 端口(通常是 3306),可以使用如下命令打开端口: ```bash sudo ufw allow 3306/tcp ``` 对于阿里云或腾讯云这样的云计算平台,还需要进入其管理后台的安全组设置页面添加相应的入站规则。 #### 5. **处理虚拟环境下的特殊情况——端口映射** 当 MySQL 是安装在一个由 Vagrant 创建出来的虚拟环境中时,可能还需要做额外的端口映射工作。这通常是在项目的 `Vagrantfile` 中定义好的,比如将虚拟机内部的 3306 映射至宿主机上某个其他端口号如 34905 。这样做的目的是为了避免冲突以及简化跨设备间的调试过程[^3]。 #### 6. **利用图形化工具进行最终验证** 像 DataGrip、SQLyog 等 GUI 工具可以帮助我们更直观地建立同目标数据库实例间的关系链路。只需输入正确的 Hostname/IP Address 和 Port Number 即可尝试建立链接[^4]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值