日期:2014-05-16  浏览次数:20850 次

MySql实现远程连接

1、进入mysql,创建一个新用户root,密码为root

?? 格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码";
?????????? grant select,update,insert,delete on *.* to root@192.168.1.12 identified by "root";

?? 原先数据表结构

mysql> use mysql;
Database changed
mysql> select host,user,password from user;
+-----------+------+-------------------------------------------+
| host????? | user | password????????????????????????????????? |
+-----------+------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+-----------+------+-------------------------------------------+

?? 执行上述语句后结果

mysql> use mysql;
Database changed
mysql> select host,user,password from user;
+--------------+------+-------------------------------------------+
| host???????? | user | password????????????????????????????????? |
+--------------+------+-------------------------------------------+
| localhost??? | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| 192.168.1.12 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+--------------+------+-------------------------------------------+
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)

mysql> select host,user,password from user;
+--------------+------+-------------------------------------------+
| host???????? | user | password????????????????????????????????? |
+--------------+------+-------------------------------------------+
| localhost??? | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| 192.168.1.12 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| %??????????? | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+--------------+------+-------------------------------------------+
3 rows in set (0.00 sec)

这样机器就可以以用户名root密码root远程访问该机器上的MySql.

3、实现远程连接(改表法)

use mysql;

update user set host = '%' where user = 'root';

这样在远端就可以通过root用户访问Mysql.

<script type="text/javascript"></script>