首页 > 代码库 > Navicat for mysql 远程连接 mySql数据库10061、1045错误

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

用navicat连接远程的mysql数据报错:

技术分享

 


有朋友可能会碰到使用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 password‘; %表示多有机器。 打开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表 代码如下 复制代码 mysql> use mysql; Database changed mysql> select host,user,password from user; +--------------+------+-------------------------------------------+ | host | user | password | +--------------+------+-------------------------------------------+ | localhost | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E | | 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E | +--------------+------+-------------------------------------------+ 2 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 代码如下 复制代码 mysql> use mysql; Database changed mysql> grant all privileges on *.* to root@‘%‘ identified by "root"; Query OK, 0 rows affected (0.00 sec) mysql> select host,user,password from user; +--------------+------+-------------------------------------------+ | host | user | password | +--------------+------+-------------------------------------------+ | localhost | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E | | 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E | | % | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E | +--------------+------+-------------------------------------------+ 3 rows in set (0.00 sec) 这样机器就可以以用户名root密码root远程访问该机器上的MySql. 3、实现远程连接(改表法) 代码如下 复制代码 use mysql; update user set host = ‘%‘ where user = ‘root‘; 这样在远端就可以通过root用户访问Mysql

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