如何在本地mysql中连接到虚拟机下的数据库

时间:2024-03-18 12:20:29

如何在本地mysql中连接到虚拟机下的数据库

1.连接步骤:

  1. 首先开启mysql服务,service mysqld start,看到OK就可以了
  2. 然后用ifconfig命令查看虚拟机的IP地址,copy ip地址
  3. 在切换到本地的mysql客户端,新建一个连接,根据提示输入相应的内容:
    如何在本地mysql中连接到虚拟机下的数据库
  4. 点击确认后就可以打开了,如图所示:
    如何在本地mysql中连接到虚拟机下的数据库

2.连接过程中遇到的坑:

  1. 在我们连接过程中并不顺利,比如第一次连接的时候出现以下的问题:

如何在本地mysql中连接到虚拟机下的数据库
2. 别慌,返回到我们的虚拟机下,输入service iptables status,你会发现只有22端口开放了,而我们需要的3306端口没有开放,所以我们下一步需要做的就是开放3306端口;
3. 编辑防火墙文件打开3306端口:vi /etc/sysconfig/iptables;
4. 模仿22端口开放3306端口
如何在本地mysql中连接到虚拟机下的数据库
5. 重启防火墙,输入service iptables status 如图所示;
如何在本地mysql中连接到虚拟机下的数据库
6. 如果在你已经授权的情况下,就可以看到成功连接上虚拟机下的MySQL了
如何在本地mysql中连接到虚拟机下的数据库
7.此时还是没有连接成功的话,那是你的mysql没有授权,因为mysql默认情况下是禁止远程连接的,所以你只需要授权即可,以下是授权方法,选一种即可
方法一(不推荐)、本地登入mysql,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,将"localhost"改为"%"
#mysql -u root -proot
mysql>use mysql;
mysql>update user set host = ‘%’ where user = ‘root’;
mysql>select host, user from user;

方法二、直接授权(推荐)
从任何主机上使用root用户,密码:yourpasswd(你的root密码)连接到mysql服务器:(首先登陆Linux服务器,填写下面代码即可)

[[email protected] software]# mysql -u root -proot
mysql>grant all privileges on . to ‘root’@’%’ identifiedI by ‘yourpasswd’ with grant option;

mysql>flush privileges;

操作完后切记执行以下命令刷新权限
flush privileges;

方法三:终极方法

注释bind-address = 127.0.0.1

找到mysql.cnf

把bind-address = 127.0.0.1 前面加上 #

即 #bind-address = 127.0.0.1