Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1471603
  • 博文数量: 254
  • 博客积分: 8696
  • 博客等级: 中将
  • 技术积分: 2961
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-03 16:46
文章分类

全部博文(254)

文章存档

2015年(4)

2014年(18)

2013年(16)

2012年(8)

2011年(25)

2010年(2)

2009年(74)

2008年(107)

分类: Mysql/postgreSQL

2014-04-18 08:43:04

远程访问linux上 的mysql一直不行,一直报 error  2003 : connection to mysql server  on 10065 我是用的 Navicat for MySQL 登陆的

 

1.

修改方式1代码
改表法。  
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" 
mysql -u root -p123  
mysql>use mysql;  
mysql>update user set host = '%' where user = 'root'; 

改表法。
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -p123
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
 

2. 进入mysql 授予表 数据库 权限

 

修改二代码
 授权法。例如,你想 Ufinity
使用mypassword从任何主机连接到mysql服务器的话。  
GRANT ALL PRIVILEGES ON *.* TOIDENTIFIED BY 'mypassword' WITH GRANT OPTION;  
要及时生效 : FLUSH PRIVILEGES  
如果你想允许用户kevin从ip为192.168.1.139的主机连接到mysql服务器,并使用mypassword作为密码  
GRANT ALL PRIVILEGES ON *.* TOIDENTIFIED BY 'mypassword' WITH GRANT OPTION; 

 

3. 防火墙

最后方法代码
//关闭防火墙   
service iptables stop  

 

 

小结 :

其实1,2都是为了在mysql 的 mysql数据库中的 user表 里面有这样的记录

Sql代码
select Host ,User from user where User ='root' and Host ='%';  

select Host ,User from user where User ='root' and Host ='%';  +------+------+
| Host | User |
+------+------+
| %    | root |
+------+------+

 

意思是 以root 用户登陆 ,在局域网 中 所有的其他主机上都可以访问

 

最后实在不行 关闭防火墙。

原文:

本人也遇到这种情况,远程登录失败,主要原因是防火墙,解决方法:
vi /etc/sysconfig/iptables,注释-A INPUT -j REJECT --reject-with icmp-host-prohibited,重启iptables,service iptables restart
阅读(1350) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~