He,YuanHui —— 业精于勤荒于嬉,行成于思毁于随

如果你喜欢一个事,又有这样的才干,那就把整个人都投入进去,就要象一把刀直扎下去直到刀柄一样,不要问为什么,也不要管会碰到什么。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
大多的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组件

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

 

 

来自:http://hi.baidu.com/zheng_hu1226/blog/item/a77f0711105dc015b8127bde.html

 

posted on 2010-12-02 12:40  He,YuanHui  阅读(4555)  评论(0编辑  收藏  举报

Add to Google