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!!!

时间: 2024-10-03 14:02:06

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

Navicat for mysql 远程连接 mySql数据库10061、1045错误问题 (转)

远程使用Navicat for mysql 客户端软件连接 mySql数据时,连接出现 2003-Can’t connect to MySQL on ’192.168.1.2’(10061)错误时,是由于MySQL不准许远程连接. 修改方法如下: 1:在服务端MySQL文件夹下找到my.ini文件.修改bind-address=127.0.0.1 为 bind-address=0.0.0.0 (在MySQL 5的my.ini中未发现此项) 2:重新启动MySQL服务. 测试连接情况: 如果没有给

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 [email protected]'%' IDENTIFIED BY '

[转]MySQL远程连接ERROR 2003 (HY000):Can't connect to MySQL server on'XXXXX'(111) 的问题

装了个navicat ,然后去连接mysql服务器,一直连不上,一开始以为是防火墙问题,后来防火墙都关闭, iptable服务关闭,还是不行,网上查了下:主要是因为设置了bind_address=127.0.0.1 原文引用: 问题描述: 从一台linux远程连接另一台linux上的MySQL, 出现ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xxx.85'(111)错误. [mysql@vvmvcs0 ~]$ my

linux下mysql远程连接配置和启动重启关闭

linux mysql远程连接 远程使用Navicat for mysql 客户端软件连接 mySql数据时,连接出现Can’t connect to MySQL on ’192.168.1.99’(10061)错误时,是由于MySQL不准许远程连接.修改方法如下: 1:在服务端MySQL/my.ini文件 或者/etc/mysql/my.cnf .修改bind-address=127.0.0.1 为 bind-address=0.0.0.0 2:重新启动MySQL服务.测试连接情况: 如果没有

MySQL远程连接出现ERROR 2003 (HY000):Can't connect to MySQL server on'XXXXX'的问题

MySQL远程连接ERROR 2003 (HY000):Can't connect to MySQL server on'XXXXX'的问题 问题描述: 从一台linux远程连接另一台linux上的MySQL, 出现ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xxx.85'(111)错误. [[email protected] ~]$ mysql -hxxx.xxx.xxx.85 -uroot -p Enter pa

mysql 远程连接

4.现在如果用你电脑上的终端进行MySQL连接时,有可能出现如下错误: MySQL远程连接ERROR 2003 (HY000):Can't connect to MySQL server on'XXXXX'(111) 的问题 解决方法:修改云主机上的/etc/mysql/my.cnf 文件,注释掉 bind_address=127.0.0.1.这句ok.

mysql 远程连接可以,本地连接报错

使用python的MySQLdb库连接本地的mysql数据库,报错如下: File "/usr/lib/python2.7/dist-packages/MySQLdb/__init__.py", line 81, in Connect return Connection(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 187, in __ini

Linux开启mysql远程连接

Linux开启mysql远程连接的设置步骤 . mysql远程连接linuxserviceserveruserMysql默认root用户只能本地访问,不能远程连接管理mysql数据库,Linux如何开启mysql远程连接?设置步骤如下: 1.GRANT命令创建远程连接mysql授权用户test mysql -u root -p mysql>GRANT ALL PRIVILEGES ON *.* TO [email protected] IDENTIFIED BY 'test' WITH GRAN

mysql 远程连接速度慢的解决方案

PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的 MYSQL开启了DNS的反向解析,在MY.INI(WINDOWS系统下)或MY.CNF(UNIX或LINUX系统下)文件的[mysqld]下加入 skip-name-resolve这一句.连接mysql速度慢的解决方法. 2台服务器,一台跑iis+php,一台跑mysql,和以往一样配置好环境,测试页面一切OK 跑 应用的时候发现php访问mysql速度很慢,