用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > mysql教程

Navicat for mysql 远程连接 mySql数据库10061、1045错误

时间:2015-01-23  来源:西部数据  作者:西部数据

有朋友可能会碰到使用Navicat for mysql 远程连接 mySql数据库会提示10061、1045错误或 2003-Can’t connect to MySQL on ’192.168.1.2’(10061),这个原因是因为MySQL不准许远程连接。

最简单的办法是,MySQL远程配置,代码如下:

GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'your paaaword'; %表示多有机器。

打开3306端口,为防火墙设置例外,放行3306.但你必须有root权限了,还可以如下方法修改:

1:在服务端MySQL文件夹下找到my.ini文件,修改bind-address=127.0.0.1 为 bind-address=0.0.0.0,在MySQL 5的my.ini中未发现此项.

2:重新启动MySQL服务。

测试连接情况:

如果没有给远程登录用户添加所有机器都能访问的权限,将会出现“1045-Access denied for user root@IT(using password:NO)”,这表明需要添加权限.

添加命令如下:

1)grant all on *.* to 用户名@"%" identified by "密码";

2)flush privileges;

完成以上步骤,就可以远程访问MySQL数据库了,如果上面办法不能解决我们可以开启MySQL远程访问权限,允许远程连接.

1、登陆mysql数据库,代码如下:

mysql -u root -p

查看user表,代码如下:

  1. mysql> use mysql; 
  2. Database changed 
  3. mysql> select host,user,password from user
  4. +--------------+------+-------------------------------------------+ 
  5. | host         | user | password                                  | 
  6. +--------------+------+-------------------------------------------+ 
  7. | localhost    | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E | 
  8. | 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |  --phpfensi.com 
  9. +--------------+------+-------------------------------------------+ 
  10. rows in set (0.00 sec) 

可以看到在user表中已创建的root用户。host字段表示登录的主机,其值可以用IP,也可用主机名,

(1)有时想用本地IP登录,那么可以将以上的Host值改为自己的Ip即可。

2、实现远程连接(授权法)

将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%。   

update user set host = ’%’ where user = ’root’;

将权限改为ALL PRIVILEGES,代码如下:

  1. mysql> use mysql; 
  2. Database changed 
  3. mysql> grant all privileges  on *.* to root@'%' identified by "root"
  4. Query OK, 0 rows affected (0.00 sec) 
  5.  
  6. mysql> select host,user,password from user
  7. +--------------+------+-------------------------------------------+ 
  8. | host         | user | password                                  | 
  9. +--------------+------+-------------------------------------------+ 
  10. | localhost    | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E | 
  11. | 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E | 
  12. | %            | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E | 
  13. +--------------+------+-------------------------------------------+ 
  14. rows in set (0.00 sec) 

这样机器就可以以用户名root密码root远程访问该机器上的MySql.

3、实现远程连接(改表法),代码如下:

  1. use mysql; 
  2.  
  3. update user set host = '%' where user = 'root'

这样在远端就可以通过root用户访问Mysql.

来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
栏目更新
栏目热门