mysql的远程访问连接eoe_blog_762066_author

            很多情形需要遇到mysql的远程访问连接,但root用户只能本地连接。要实现你的的pc上的mysql数据库远程连接访问,必须另开账户。

         首先,在MySQL Server端: 
       执行mysql 命令进入mysql 命令模式, 
       Sql代码 复制代码 收藏代码

  1.  mysql> use mysql;   
  2. mysql> GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;   
  3. #这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思)的电脑 用admin帐户  和密码(admin)来访问这个MySQL Server。                                                                                              
        实现远程登录的方式:
  1. 在另一台MySQL 客户端(装有mysql程序包的pc ,windows或者是linux均可) 
    执行命令: 
    Sql代码 复制代码 收藏代码
    1. mysql -h172.21.5.29 -uadmin -padmin   即可了   
    2. //172.21.5.29就是MySQL Server的IP地址,admin admin就是刚才在 172.21.5.29上设置的远程访问帐户

     注意:
     如果上面的命令你执行完毕, 你在 本地就是localhost , 执行 : 
      Sql代码 复制代码 收藏代码
  1.  mysql -hlocalhost -uadmin -padmin   
     结果是失败的。原来 上面的 % 竟然不包括localhost 所以你还必须加上这样的 命令:  
     mysql>GRANT ALL ON *.* TO admin@'localhost'  IDENTIFIED BY 'admin' WITH GRANT OPTION;
     此命令才能保证在本地能够以admin账户登录。

      如果上面的信息还不够清晰,可以参考如下的内容:
     
   MySQL远程访问权限,允许远程连接的开启
 
   1、登陆mysql数据库    
   mysql -u root -p
   查看user表  www.2cto.com  
   mysql> use mysql;
   Database changed
   mysql> select host,user,password from user;
   +--------------+------+-------------------------------------------+
   | host         | user | password                                  |
   +--------------+------+-------------------------------------------+
   | localhost    | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
   | 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
   +--------------+------+-------------------------------------------+
   2 rows in set (0.00 sec)
 
   可以看到在user表中已创建的root用户。host字段表示登录的主机,其值可以用IP,也可用主机名,
   (1)有时想用本地IP登录,那么可以将以上的Host值改为自己的Ip即可。
 
   2、实现远程连接(授权法)
   将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%。   
   update user set host = ’%’ where user = ’root’;
   将权限改为ALL PRIVILEGES
   mysql> use mysql;
   Database changed
   mysql> grant all privileges  on *.* to root@'%' identified by "root";
   Query OK, 0 rows affected (0.00 sec)  www.2cto.com  
   mysql> select host,user,password from user;
   +--------------+------+-------------------------------------------+
   | host         | user | password                                  |
   +--------------+------+-------------------------------------------+
   | localhost    | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
   | 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
   | %            | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
   +--------------+------+-------------------------------------------+
   3 rows in set (0.00 sec)
   这样机器就可以以用户名root密码root远程访问该机器上的MySql.
   3、实现远程连接(改表法)
   use mysql;
  update user set host = '%' where user = 'root';
  这样在远端就可以通过root用户访问Mysql.

      

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值