sqlyog链接mysql远程数据库怎样修改权限

如题所述

1,sqlyog客户端,用root用户远程链接mysql时,提示“访问被拒绝”,在网上搜索了一下原因。

  原来是mysql没有授权其远程链接,所以你只能在客户端里面链接。

  怎么解决呢?

  原表数据

  mysql> use mysql

  mysql> select Host,User,Password from user ;
  +---------------+---------+-------------------------------------------+
  | Host | User | Password |
  +---------------+---------+-------------------------------------------+
  | localhost | root | *DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |
  | www | root | *DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |
  | 127.0.0.1 | root | *DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |
  | ::1 | root | *DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |

  创建一个新用户

  格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码";

  grant select,update,insert,delete on *.* to [email protected] identified by "komiles1234";

  执行完上面语句后,再执行

  mysql> select Host,User,Password from user ;
  +---------------+---------+-------------------------------------------+
  | Host | User | Password |
  +---------------+---------+-------------------------------------------+
  | localhost | root | *DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |
  | www | root | *DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |
  | 127.0.0.1 | root | *DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |
  | ::1 | root | *DEA65ABECC50A1FEBD9C0D0D9045E0DDB312F38F |
  | 123.4.56.89 | komiles | *50663F1ECEAB844897BC272EC1AE7E83F442F649 |
  +---------------+---------+-------------------------------------------+

  此时,就可以用你刚才创建的用户进行远程访问了。

  以下是转载http://www.cnblogs.com/smallstone/archive/2010/04/29/1723838.html

  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.
温馨提示:答案为网友推荐,仅供参考