位置:海鸟网 > IT > mySQL >

如何用MySQL-Front远程连接MySql?

  大多的MySQL都是装在Linux上的,而我们的本机上一般都会装MySQL-Front.那如何用MySQL-Front连接远端Linux系统上的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";

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

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

  mysql> update user set host = '%' where user = 'duan';

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

mysql> select host,user
-> from user;
+-----------+------+
| host | user |
+-----------+------+
| % | duan |
| localhost | root |
+-----------+------+
5 rows in set (0.00 sec)

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

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

  注意事项:

  一:Linux防火墙一定要开放3306端口。

  二:我用mysql5.0做实验,完全没有问题,但是mysql4.0好像有点问题。我们可以用duan用户在任何IP上登录数据库,应为我们duan用户的host字段是“%”。但是我只要一换IP,就无法连接mysql了。不知道是mysql版本的问题,还是我输入命令的时候有误。此问题需要进一步的证实。

  备注:我从另一篇博客中看到在建立连接时在服务器后面填入ip地址即可,使用数据库选择mysql就可以了

  感叹网络上如此众多的牛人!如今真的成了通过看博客和写博客学习交流的时代了. 上午的时候安装IIS组件

  然后配置,全部都是一头雾水.在网上搜索一下,会搜出一片解决问题的办法,最后终于搞定了,具体又说不出来搞定的.但是我想如果再有类似情况出现的话,会解决的更快.也许经验就是这么得来的.这个摸索的过程本身就是对事物的熟悉过程.如果出现问题,旁边的人立即就指点迷津,是达不到这种效果的.