MySQL-Front联接远端的MYSQL

MySQL-Front连接远端的MYSQL

    用MySQL-Front连接远端的MYSQL就会有些问题。大多提示1045错误:”Access denied for user duan@192.168.0.104,请检查用户名和口令”.怎么回事呢?

  

    首先让我们看一下远端MYSQL的用户表

  

  mysql> select host,user

  -> from user;

  +—————+——+

  | host | user |

  +—————+——+

  | localhost | root |

  +—————+——+

  5 rows in set (0.00 sec)

    由此我们可以看到root用户仅允许本地(localhost)登录,如果要远程登录该mysql服务器的话,就需要新建一个普通权限的用户,新建用户使用如下命令:

  

    mysql> grant select,update,insert,delete on mas.* to duan@localhost identified by “123456”;

或GRANT ALL PRIVILEGES ON *.* to duan@localhost identified by “123456”;  

    这句命令的意思是:新建用户duan,并且只允许该用户在本地(localhost)登录,密码是123456,并且赋予它对mas库中所有表select,update,insert的权限。我们在这有一个mas库,所以用mas.*代表mas库下的所有表。如果要对所有的表,包括mysql库的表都有操作权限则可以替换成“*.*”.

  

    现在该duan用户,已经可以登录mysql了,但是也还是只能本地登录。若要duan用户可以远程登录mysql,则还需要如下命令:

  

    mysql> update user set host = ‘%’ where user = ‘duan’;

【也可以直接GRANT ALL PRIVILEGES ON *.* to duan@’%’ identified by “123456”;】  

    现在我们再查看mysql的管理库:

  

  mysql> select host,user

  -> from user;

  +———–+——+

  | host | user |

  +———–+——+

  | % | duan |

  | localhost | root |

  +———–+——+

  5 rows in set (0.00 sec)

  然后重启mysql: root@# service mysql restart

   通过以上操作,我们知道其实用root用户也可以远程登录mysql的,就是把root的host字段改成%即可,但是强烈不建议如此做,否则会带来严重的安全风险。

  

    好了,我们可以连接我们的远端mysql了,在MySQL-Front上新建连接,输入连接名,远端的Linux的IP地址,输入用户名duan和密码123456,选择连接端口,mysql默认的是3306,OK,连接成功了。

撤销已经赋予权限的用户的权限:

revoke all on *.* from duan@%;

MySQL-Front联接远端的MYSQL

相关文章:

你感兴趣的文章:

标签云: