今天在本地链接虚拟机上的MySql,然而链接失败了!甚是尴尬!

首先想一想是什么原因导致链接失败;

基础环境:在Linux上安装mysql

1、检查虚拟机IP在本地是否可以ping 通过

  虚拟机IP:192.168.217.129

  

  本地执行一下,没有问题

  

2、检查虚拟机Mysql的端口是否对外开放(这个必须要开放)

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

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

  

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

  cmd下执行telnet 192.168.217.129 3306

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

  

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

3、开通虚拟机的3306端口

  查看虚拟机防火墙的状态  

service iptables status

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

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

vim /etc/sysconfig/iptables

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

  重启防火墙

service iptables restart

  可以看到3306已经开放

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

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

  原因:一般mysql是不允许除了本机用户以外的用户进行访问的,所以需要给特定ip的用户开放权限,通过这个用户去访问连接

  创建用户并附有所有权限

    

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

  重新使用cici链接数据库,成功了!!

  

  

  

本地如何连接虚拟机上的MySql的更多相关文章

  1. Navicat连接虚拟机上的mysql

    刚刚在虚拟主机上安装mysql,  想使用Navicat 操作mysql.  但是连接不上 报错: 2003 - can't connect to MySQL server on '192.168.1 ...

  2. Linux 命令学习之使用本地SecureCRT连接虚拟机上linux

    前提:保证你的虚拟机安装好了,本人使用的是 VMware. 首先在你的window上查看你的 ip地址 进入dos 窗口运行 ipconfig. 其次进入你的虚拟机,登录成功.运行 ifconfig ...

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

    基础环境: 在linux安装mysql 检查远程的虚拟机是否可以ping通过 查看虚拟机IP为192.168.38.128 cmd窗口ping 192.168.38.128,出现如下界面说明是可以的 ...

  4. 本地连接虚拟机上面的redis

    想做一个抓取系统,想到用redis存储临时数据可能会比较好些,就想着装个虚拟机,在虚拟机上面安装redis,通过本地来访问虚拟机上面的redis. 虚拟机和redis安装成功之后,发现本地怎么都连接不 ...

  5. 【liunx】使用xshell连接虚拟机上的CentOS 7,使用xhell连接本地虚拟机上的Ubuntu, 获取本地虚拟机中CentOS 7的IP地址,获取本地虚拟机中Ubuntu 的IP地址,Ubuntu开启22端口

    注意,如果想用xshell去连接本地虚拟机中的linux系统,需要本地虚拟机中的系统是启动的才能连接!!!!! ============================================ ...

  6. java API连接虚拟机上的hbase

    今天用本地的eclipse连接虚拟机上的hbase数据库,代码如下: public static void main(String[] args) throws Exception{ Configur ...

  7. 【centOS】【xshell】xshell连接虚拟机上的centOS,操作途中突然断开连接,报错:connect closed by foreign host

    如题  xshell连接虚拟机上的centOS,操作途中突然断开连接,报错:connect closed by foreign host 快捷解决方法: 在虚拟机上centOS重新启动网络,即可解决问 ...

  8. MySql:Navicat 连接不上虚拟机上的mysql容器

    1.问题显示 通过windows主机navicat连接虚拟的mysql时报如下错误. 2.问题原因 由于navicat版本的问题,出现连接失败的原因:mysql8 之前的版本中加密规则是mysql_n ...

  9. 访问局域网内其他主机的VMware虚拟机上的mysql数据库和redis缓存

    上一篇写了访问局域网内其他主机的虚拟机上的项目 ,现在说说访问局域网内其他主机的虚拟机上的数据库和缓存 博主使用的linux是Ubuntu16.04: 一.安装数据库和缓存 这里连接的数据库和缓存以m ...

随机推荐

  1. 20155320《网络对抗》Exp4 恶意代码分析

    20155320<网络对抗>Exp4 恶意代码分析 [系统运行监控] 使用schtasks指令监控系统运行 首先在C盘目录下建立一个netstatlog.bat文件(由于是系统盘,所以从别 ...

  2. libgdx学习记录11——平铺地图TiledMap

    地图对于游戏场景十分重要,很多游戏都需要对地图进行编辑,可使用TileMap进行编辑并生成对应的tmx格式地图文件. 编辑好后,可通过TmxMapLoader来读取地图文件.可通过一个正交相机Otho ...

  3. idea 迁移maven项目出现导入仓库半天没反应的问题解决

    可以先参考: https://www.cnblogs.com/kinome/p/10289212.html 然后再看看maven配置文件是否正确,项目进行迁移时,如果环境不同,比如一个是使用的自定义m ...

  4. Spring Boot(十一):Spring Boot 中 MongoDB 的使用

    MongoDB 是最早热门非关系数据库的之一,使用也比较普遍,一般会用做离线数据分析来使用,放到内网的居多.由于很多公司使用了云服务,服务器默认都开放了外网地址,导致前一阵子大批 MongoDB 因配 ...

  5. Java Web应用中支持跨域请求

    转载:https://blog.csdn.net/lmy86263/article/details/51724221 由于工程合作开发的需要,后台的应用要能支持跨域访问,但是在这个跨域访问“时好时坏” ...

  6. php faker 库填充数据

    Generating Fake Data in PHP with Faker 时间 2016-01-28 07:13:00 Wern Ancheta 原文  http://wern-ancheta.c ...

  7. sonarqube扫描安卓代码

    代码才用https://github.com/liwanlei/bilibili-android-client 配置: build.gralde配置 buildscript { repositorie ...

  8. Unity 音频合并

    将多个音频组合起来进行播放 代码如下: ; [SerializeField] AudioClip s1; [SerializeField] AudioClip s2; [SerializeField] ...

  9. Netty源码分析(前言, 概述及目录)

    Netty源码分析(完整版) 前言 前段时间公司准备改造redis的客户端, 原生的客户端是阻塞式链接, 并且链接池初始化的链接数并不高, 高并发场景会有获取不到连接的尴尬, 所以考虑了用netty长 ...

  10. 全局最小割StoerWagner算法详解

    前言 StoerWagner算法是一个找出无向图全局最小割的算法,本文需要读者有一定的图论基础. 本文大部分内容与词汇来自参考文献(英文,需***),用兴趣的可以去读一下文献. 概念 无向图的割:有无 ...