zoukankan      html  css  js  c++  java
  • 在windows中使用Navicat连接Linux虚拟机中的mysql数据库

           今天想用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,链接测试,如下图,成功。

      

  • 相关阅读:
    升级到`Google-Mobile-Ads-SDK(->7.68)`,导出Unity工程产生的几个BUG以及解决办法
    unity中Asset Store下载的资源保存位置
    Maven打包报错 No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
    C# ISharpZipLib 压缩/解压缩zip文件
    jarsigner.exe 命令行出现乱码的解决办法
    SwiftUI 结构体自动生成可编辑界面
    .Net Mvc ActionFilterAttribute的OnActionExecuted中获取请求参数信息
    .netcore Attribute特性使用 TypeFilter传参
    vue router.app.$store undefined
    js 判断点击是否是某个div下的dom
  • 原文地址:https://www.cnblogs.com/yhoralce/p/8326085.html
Copyright © 2011-2022 走看看