今天想用navicat远程连接虚拟机中的MySQL数据库,一直连不上,在网上搜索了一下,发现原因是MySQL对远程用户登陆的授权问题。这里说一下我的解决方法。(本人小白)

  首先,我用navicat去远程链接我虚拟机中的MySQL,链接测试失败。

  然后在虚拟机中查看网络端口信息:

  #netstat -ntpl

  

  之后查看了防火墙的状态,发现3306端口的数据包都是丢弃状态

  #iptables -vnL

  

  

  这里要清除防火墙中链中的规则

  #iptables -F

  1. # vim /etc/sysconfig/iptables
向其中加入下列规则:
  1. -A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
  2. -A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
  3. -A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
说明:防火墙开放http用的80端口和连接MySql的3306端口。
  1. # service iptables restart

----------------------------------------------------------到这里,问题解决了一半了,接下来-------------------------------------------------------------------------------------------

  在这之后,我又远程链接了一下MySQL,出现了以下错误,查了一下,是因为MySQL没有允许远程登陆,所以要授权MySQL远程登陆。

  

  

这里先说一下MySQL登陆:

  格式: mysql -h主机地址 -u用户名-p用户密码

    1、例1:连接到本机上的MYSQL
    找到mysql的安装目录,一般可以直接键入命令mysql -uroot -p,回车后提示你输密码,输入密码,直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>

    2、连接到远程主机上的MySQL
    假设远程主机的IP为:10.0.0.1,用户名为root,密码为123。则键入以下命令:
    mysql -h10.0.0.1 -uroot -p123
   (注:p与123(密码)之间最好不加空格,其它也一样)

    3、退出MySQL命令
   exit (回车)

最后授权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用户,密码:youpassword(你的root密码)连接到mysql服务器:
  # mysql -u root -proot 
  mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

  操作完后切记执行以下命令刷新权限 
    FLUSH PRIVILEGES

  这时再通过navicat远程链接MySQL,链接测试,如下图,成功。

  

在windows中使用Navicat连接Linux虚拟机中的mysql数据库的更多相关文章

  1. Navicat连接Linux系统下的Mysql数据库

    1 . 进入Linux机器 , 登录并进入mysql如果没有安装mysql,参照 https://blog.csdn.net/weixin_35353187/article/details/81712 ...

  2. 在Windows下使用Navicat连接Linux下的MySql

    Linux下的Mysql安装可以参考菜鸟教程:https://www.runoob.com/mysql/mysql-install.html 安装完成后你会发现用Navicat链接MySql会失败,这 ...

  3. springboot+redis+虚拟机 springboot连接linux虚拟机中的redis服务

    文章目录 1.前提条件:确保虚拟机开启.并且连接到redis 2.新建立一个springboot项目,创建项目时勾选web选项 3.在pom中引入redis依赖 4.在application.prop ...

  4. navicat连接linux系统中mysql-错误:10038

    输入 命令 netstat -anp(查看所有的进程和端口使用情况) (注:Local Address一列中: 0.0.0.0 表示监听本地所有ip地址,其他电脑是可以访问的,并且修改ip不受影响. ...

  5. (转发)Navicat 远程连接 Linux服务器上的MySQL数据库

    授权法: 在安装mysql的机器上运行: 1.# ./bin/mysql -uroot -p //这样应该可以进入MySQL服务器 2.mysql> GRANT ALL PRIVILEGES O ...

  6. 如何用navicat连接linux服务器上的mysql以及重启服务

    1,开启mysql权限:https://www.cnblogs.com/NaughtyCat/p/how-to-connect-to-mysql-on-linux-by-navicat.html my ...

  7. Xshell无法连接Linux虚拟机问题

    遇到的情况是,在虚拟机下安装了Linux后,xshell无法连接远程的虚拟机. 我遇到的情况是虚拟机可以ping 主机,主机确ping不了虚拟机. 使用的VM设置了两个网卡,一个nat  一个host ...

  8. Windows连接Linux服务器中MySQL数据库-权限配置

    问题描述 在Windows系统中安装了监控MySQL数据库服务器性能的工具Spotlight on MySQL,利用Spotlight连接Linux服务器中的MySQL,进行相关配置如下:   点击& ...

  9. 配置SecureCRT连接本地虚拟机中的Linux系统

    转自:http://www.pythoner.com/196.html 由于平时公司开发时都是使用SecureCRT连接的Linux服务器,所以也想使用SecureCRT在自己电脑上连接本地虚拟机中的 ...

随机推荐

  1. Orchard运用 - 整合Disqus评论插件

    评论对于博客系统那是必须具备的一个功能,Orchard本身也默认实现了评论模块,你可以集成到其他内容,比如博客随笔,不过觉得有点寒碜,样式有点呆板.幸运的是,你可以简单集成第三方评论插件,比如Disq ...

  2. http://jingyan.baidu.com/article/7f41ecec1b7a2e593d095ce6.html

    http://jingyan.baidu.com/article/7f41ecec1b7a2e593d095ce6.html http://www.linuxeden.com/html/softuse ...

  3. Android -- SurfaceView绘制

    SurfaceView SurfaceView是View的一个特殊子类,它的目的是另外提供一个线程进行绘制操作. 步骤 1.用SurfaceView进行绘制,首先要创建一个类,继承 SurfaceVi ...

  4. Thinkphp学习笔记-编辑工具Sublime license

    选择[help]-[enter license]   直接输入注册码就可以了 ----- BEGIN LICENSE ----- Andrew Weber Single User License EA ...

  5. 机器学习-特征选择 Feature Selection 研究报告

    原文:http://www.cnblogs.com/xbinworld/archive/2012/11/27/2791504.html 机器学习-特征选择 Feature Selection 研究报告 ...

  6. vscode - 移动端适配(cssrem)

    建议使用Chrome浏览器. 1.第一步,安装扩展以及配置 2.第二步,使用(记得按一下↓)

  7. 利用Nginx搭建http和rtmp协议的流媒体服务器[转]

    利用nginx搭建http和rtmp协议的流媒体服务器 实验目的:让Nginx支持flv和mp4格式文件,同时支持Rtmp协议:同时打开rtmp的hls功能资料:HTTPLive Streaming( ...

  8. request.getHeader不区分大小写

    <!--查看输出信息--><% System.out.println("Header...."); Enumeration<String> e = r ...

  9. CentOS 6.2下二进制安装 MySQL 5.6

    在CentOS 6.2上 二进制方式安装 MySQL5.6二进制包 可以参考这篇文章: http://www.cnblogs.com/xiaoit/p/3988640.html 一路配置下来很顺利.. ...

  10. 登陆Oracle EBS的Form遇到问题Internet Explorer has modified this page to help prevent cross-site scripting

    登陆Oracle EBS的Form遇到问题Internet Explorer has modified this page to help prevent cross-site scripting 今 ...