如何在本地远程连接linux虚拟机上面的mysql

基础环境: 在linux安装mysql

  • 检查远程的虚拟机是否可以ping通过

  查看虚拟机IP为192.168.38.128

  如何在本地远程连接linux虚拟机上面的mysql_第1张图片

  cmd窗口ping 192.168.38.128,出现如下界面说明是可以的  

  如何在本地远程连接linux虚拟机上面的mysql_第2张图片

  • 检查虚拟机mysql的端口号是否对外开通

  比如我们能用xshell等远程工具连接虚拟机上的linux,是因为开放了22端口

  查看mysql的端口,在mysql命令行模式下执行以下命令就可以查看,查到的结果是3306

 show variables like '%port%';

  如何在本地远程连接linux虚拟机上面的mysql_第3张图片

  查看虚拟机的3306端口是否开放

  cmd下执行telnet 192.168.38.128 3306

  无法执行,别方,这是因为Windows telnet默认是关闭的

  

  按照红框提示开启telnet

  如何在本地远程连接linux虚拟机上面的mysql_第4张图片

  重新打开cmd窗口执行命令,结果是无法连接,这是因为虚拟机上的3306并没有对外开放,可以用22的试下效果就知道了

  

  • 开通虚拟机的3306端口  

  查看虚拟机防火墙的状态

service iptables status

  可以看到目前只有22端口对外开放

  如何在本地远程连接linux虚拟机上面的mysql_第5张图片

  编辑防火墙文件打开3306端口

vim /etc/sysconfig/iptables

  模仿22端口开放命令添加如图所示的一行即表示对外开放3306端口  

  如何在本地远程连接linux虚拟机上面的mysql_第6张图片

  重启防火墙

service iptables restart

  可以看到3306已经开放

  如何在本地远程连接linux虚拟机上面的mysql_第7张图片

  • 远程连接虚拟机数据库访问

   端口都开启了,但还是连不上,看提示说明至少已经关联到mysql,不允许是因为权限不够

 如何在本地远程连接linux虚拟机上面的mysql_第8张图片

  我也不用root账号了,这里重新创建一个账号并赋予所有权限,之后让权限配置生效,在虚拟机上的mysql命令行模式下执行以下命令

create user 'panda'@'%' identified by '123456';
grant all on *.* to 'panda'@'%';
flush privileges;

  重新使用panda链接数据库,成功了~~~

  如何在本地远程连接linux虚拟机上面的mysql_第9张图片

 

 

题外话:mysql默认的端口就是3306,当然也可以在配置文件中修改,在服务端节点下添加port信息即可

你可能感兴趣的:(如何在本地远程连接linux虚拟机上面的mysql)