Heim  >  Artikel  >  Datenbank  >  mysql的远程访问连接eoe

mysql的远程访问连接eoe

WBOY
WBOYOriginal
2016-06-07 15:34:411310Durchsuche

很多情形需要遇到mysql的远程访问连接,但root用户只能本地连接。要实现你的的pc上的mysql数据库远程连接访问,必须另开账户。 首先, 在MySQL Server端: 执行mysql 命令进入mysql 命令模式, Sql代码 mysqlusemysql; mysql GRANT ALL ON *.* TO admin@ '%'

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

         首先,在MySQL Server端: 
       执行mysql 命令进入mysql 命令模式, 
       Sql代码 mysql的远程访问连接eoe mysql的远程访问连接eoe

  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代码 mysql的远程访问连接eoe mysql的远程访问连接eoe

    1. mysql -h172.21.5.29 -uadmin -padmin   即可了   
    2. //172.21.5.29就是MySQL Server的IP地址,admin admin就是刚才在 172.21.5.29上设置的远程访问帐户

     注意:

     如果上面的命令你执行完毕, 你在 本地就是localhost , 执行 : 

      Sql代码 mysql的远程访问连接eoe mysql的远程访问连接eoe

  1.  mysql -hlocalhost -uadmin -padmin   
     结果是失败的。原来 上面的 % 竟然不包括localhost 所以你还必须加上这样的 命令:  
     mysql>GRANT ALL ON *.* TO admin@'localhost'  IDENTIFIED BY 'admin' WITH GRANT OPTION;

     此命令才能保证在本地能够以admin账户登录。

     原博客地址:http://www.cnblogs.com/xd502djj/archive/2011/04/01/2001826.html


      如果上面的信息还不够清晰,可以参考如下的内容:

     

   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.

  原博客:http://www.2cto.com/database/201205/130093.html。


      

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn