windows下用navicat远程连接虚拟机Linux下MySQL数据库(转)

原文地址:http://www.javashuo.com/article/p-xftcadbg-bq.htmlhtml

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

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

  而后在虚拟机中查看网络端口信息:数据库

  #netstat -ntpl服务器

 

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

  #iptables -vnL测试

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

  #iptables -Fblog

  在这以后,我又远程连接了一下MySQL,出现了如下错误,查了一下,是由于MySQL没有容许远程登录,因此要受权MySQL远程登录。ip

这里先说一下MySQL登录:

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


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

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

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

最后受权MySQL,容许远程用户登陆访问MySQL

  手动增长能够远程访问数据库的用户。

  方法1、本地登入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;


  方法2、直接受权(推荐)

  从任何主机上使用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,连接测试,成功。

相关文章
相关标签/搜索