用Mysql GUI tool 链接 Mysql 错误 2003 的解决办法

今天在Ubuntu下安装了mysql server, 然后试图在winxp下面用Mysql GUI tool链接,结果总是失败,显示错误号为2003.
下面是探索过程:
1.首先怀疑是Ubuntu下面有防火墙, 在winxp下面ping可以ping通, Ubuntu下面执行 "ufw status" 显示也是inactive的;
说明和防火墙没有关系。
2. 怀疑mysql 没有起来, 在Ubuntu下面执行"ps -ef | grep mysql"显示 mysql 正常;
3. 没办法了,开始从网上搜索, 找到了解决办法:
  1)mysql -uroot -p, 输入密码后进入mysql提示符:
  
[python] view plaincopy
mysql> use mysql  
mysql> select host, user from user;  
+---------------+------------------+  
| host          | user             |  
+---------------+------------------+  
| 127.0.0.1     | root             |   
| localhost     | debian-sys-maint |   
| localhost     | root             |   
+---------------+------------------+  
   从显示结果看出只允许本地用户登录, 所以需要加入允许的IP地址用户;
  
[c-sharp] view plaincopy
mysql> GRANT ALL on *.* to root@192.168.0.105 IDENTIFIED BY 'password';  
mysql> flush privileges;  
mysql> select host, user from user;  
+---------------+------------------+  
| host          | user             |  
+---------------+------------------+  
| 127.0.0.1     | root             |   
| 192.168.0.105 | root             |   
| localhost     | debian-sys-maint |   
| localhost     | root             |   
+---------------+------------------+   
  
  本以为现在从IP地址为192.168.0.105的用户可以用root和密码password链接到mysql了,可是链接还是出现2003的错误号;
于是继续搜索;
2) su到root帐号,然后:
$ vi /etc/mysql/my.cnf
找到 bind-address           = 127.0.0.1
改为 bind-address           = 192.168.0.102
改完保存后, 执行 service mysql restart 重启mysql, 再次链接搞定。
 
这里解释一下bind-address, 这个地址mysql监听的ip地址, 默认是127.0.0.1,也就是mysql只在回环地址上(也就是lo上)监听,所以外面的ip地址链接不进来, 修改后的ip地址192.168.0.102是mysql server主机上的对外ip地址,也就是和外界通信的那块网卡eth0,这样才能监听到外部网络进来的连接请求。
修改前执行:netstat -na | grep 3306结果为:
tcp        0      0 127.0.0.1:3306      0.0.0.0:*               LISTEN
修改后执行:netstat -na | grep 3306结果为:
tcp        0      0 192.168.0.102:3306      0.0.0.0:*               LISTEN
 
重启以后,发现还是无法成功连接。 怀疑是 iptable 防火墙过滤。
执行命令: service iptables stop 
再次连接,发现可以了。。。


顺便说一下,今天su到root的时候总是失败,这里是问题的原因:
刚刚在vmware里装好了ubuntu8.04,由于Ubuntu root用户在默认情况下是禁用的,不允许用root登陆,而有很多时候的操作又需要有root用户的权限。要使用root帐户登陆,遵循以下步骤:
1、首先重置root密码:
      利用现有管理员帐户登陆Ubutu,在终端执行命令:sudo passwd root,接着输入密码和root密码,重复密码。再重新启动就可以用root登陆。
2、允许以root用户登录:
      默认情况是不允许用root帐号直接登陆图形界面的。这可以通过修改/etc/gdm/gdm.conf文件来允许root直接登陆,在该文件中找到 AllowRoot=false 将其改为 AllowRoot=true 切换用户就可以了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值