场景
Vagrant环境中的Ubuntu虚拟机中装有MySQL服务器,在Vagrant中可以访问到MySQL服务,但是从本地环境使用MySQL Workbench访问MySQL服务则提示Can't connect to MySQL server on '192.168.33.10' (61)错误。
解决方法
在百度之后发现根据MySQL的设置和用户的设置,导致会出现无法远程访问的情况,于是进行了一下的调查和操作。
Step.1 进入Vagerant环境,查看MySQL用户的Host
# $ vagran ssh进入虚拟机环境
$ mysql -u root -p
# 输入密码
# 执行SQL语句
mysql> SELECT User, Host FROM mysql.user;
+------------------+-----------+
| User | Host |
+------------------+-----------+
| root | localhost |
+------------------+-----------+
复制代码
Step.2 发现Host是localhost则不允许远程访问需要修改
# 执行修改语句,修改为%
mysql> update mysql.user set host = '%' where user = 'root';
# 检查修改结果
mysql> SELECT User, Host FROM mysql.user;
+------------------+-----------+
| User | Host |
+------------------+-----------+
| root | % |
+------------------+-----------+
复制代码
Step.3 重启MySQL后发现依然提示同样的错误,怀疑是否是MySQL配置问题
# 查看配置文件
$ sudo cat /etc/mysql/my.cnf
# 发现配置文件引用了其他文件
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
# 根据引用路径找到这个文件并编辑
$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 发现这个配置指向本地
bind-address = 127.0.0.1
# 修改为以下值并保存
bind-address = 0.0.0.0
# 重启数据库
$ sudo /etc/init.d/mysql restart
复制代码
Step.4 设定MySQL Workbench确认可以访问
参考
my.oschina.net/Laily/blog/…
blog.csdn.net/u014294325/…
关于找一找教程网
本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。
本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。
[从MySQL Workbench访问虚拟机中MySQL的一次尝试]http://www.zyiz.net/tech/detail-136693.html