MySQL远程连接时出现10061以及1045错误时的解决方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL远程连接时出现10061以及1045错误时的解决方法相关的知识,希望对你有一定的参考价值。

    以前对于mysql数据库的管理基本都是在本地,今天了解到一个比较轻便,不需安装,直接解压可用的图形界面管理工具HeidiSQL(下载地址:链接:http://pan.baidu.com/s/1nvuP2Et 密码:vry9),界面非常简洁。

    1)解决10061问题

    本人在按照提示进行远程连接Linux系统下的MySQL数据库时,首先遇到的是下面的问题:

技术分享

图1: ‘10061’问题

    于是乎,按照提示的错误代码查找资料,网上很多平台都说是MySQL的权限问题,需要对root用户赋予足够权限,能够允许以root用户名从某个IP地址或者任意IP地址的主机连接MySQL数据库。

首先查找MySQL中的用户信息:

select Host,User from user;

MySQL中用户表中的信息如下:

技术分享

图2:  root用户的主机权限

    由上图可以知道,root用户是具有127.0.0.1即本地连接权限,也有“%”即允许任意IP地址的主机远程连接MySQL的权限的,于是再次进行连接,却依然显示‘10061’错误,于是乎,继续查资料。有网友告知,需要修改MySQL的某个配置文件的配置代码,即my.ini文件中的“bind-address = . . . .”,将“. . . .”修改为“0.0.0.0”,于是乎,操作之。利用“locate”命令,并没有发现my.ini文件,继续了解,此属性配置在一个名为“my.cnf”的文件中。

# vim /etc/mysql/my.cnf

技术分享

图3: 修改my.cnf

    修改后保存,然后执行重启命令:

service mysql restart

继续进行远程连接操作,结果如下:

技术分享

图4: 修改bind-address配置属性后的远程连接

    2)解决1045问题

    由图2和图4可知,尽管root用户的Host属性是“%”,但是在远程连接时,还是会出现错误,错误代码为1045,而网上很多网友和博主,都是在此种情况下,可以连接成功的,于是很疑惑,为什么还是会出现错误。思考许久后,本人觉得,有可能是本人赋予root用户权限的时间很久,需要重新刷新,于是乎,再次对root用户赋予相关权限。

grant all on *.* to [email protected]"%" identified by "root用户的登录密码";
 flush privileges;// 刷新权限,使其生效。
 mysql> exit;
 service mysql restart //重启MySQL服务

    执行上述命令后,再次进行远程连接,便连接成功。

技术分享

图5:root用户远程连接结果(1)

技术分享

图6:root用户远程连接结果(2)

    以上是本人今天晚上遇到的问题并解决的过程,顺便记录之,以供日后遇到类似问题时可以参考,如果你的问题和我一样,可以参考以上方法,具体问题还得具体分析,有可能上述方法不能解决你的问题,那么就得另外想办法。Night!!!

    又熬夜了,shit!!!

本文出自 “coder改变生活” 博客,转载请与作者联系!

以上是关于MySQL远程连接时出现10061以及1045错误时的解决方法的主要内容,如果未能解决你的问题,请参考以下文章

Navicat for mysql 远程连接 mySql数据库100611045错误

mysql登录出现1045错误

10061错误

从另一个网络上的另一台计算机访问 db 时出现错误 #1045

Navicat for Mysql连接mysql数据库时出现 2003-Can't connect to MySql server on 'localhost'(10061)(

在启动MYSQL时出现问题:“ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)”