windows连接linux mysql 报 (10061)错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows连接linux mysql 报 (10061)错误相关的知识,希望对你有一定的参考价值。
在ubuntu下安装了mysql数据库,用Navicat客户端不能链接上,报如下错误error:ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
1、查看:netstat -an|grep 3306 是空的,说明没有在侦听。解决办法:修改/etc/my.cnf 将其中skip-networking注释掉,然后运行netstat -an|grep 3306 就可以看到了。
2、对于服务器来说,首选防火墙必须允许3306端口通过,可以在客户机通过telnet 该端口测试。
(可以关闭防火墙 service iptables stop)
3、设置用于远程访问的用户,必须先对该用户授权,允许远程访问。
#mysql -uroot -p
mysql>grant all on root.* to " identified by "123456"; 参考技术A 兄弟以下方法转别人的.您试看能起作用不.
当通过 TCP/IP 连接 MySQL 远程主机时,出现 ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 104 。
如果是在linux shell命令行中直接打 mysql 命令,能够顺利连上 MySQL,执行查询语句也比较正常,但如果执行 STOP SLAVE; 命令时就随机出现 ERROR 2013 (HY000): Lost connection to MySQL server during query 问题。而如果把操作命令写到脚本文件再去执行该脚本文件的话,则必然出现 Lost connection to MySQL server at 'reading initial communication packet', system error: 111
要是无论通过什么途径远程访问都出现错误可以认为是系统有防火墙之类的限制,但现在这种奇怪的抽筋现象让人百思不得其解。最后找到的解决方法是在 my.cnf 里面的 [mysqld] 段增加一个启动参数
skip-name-resolve
问题消失。但原因还是想不出所以然。
如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
vaela希望有帮助。可到365testing,测评网,逛逛 参考技术B 我的linux 上面也和你的问题一样。但是我是因为my.cnf 里面把
#skip-networking
的#号注释去掉了 结果报了这个10061 大楷原因是因为没有启动到mysql 我netstat -anpt 没有看到3306端口 后来把这里的注释加上 解决了这个问题
windows linux 下安装mysql 报1045 等错误
曾经在windows 下安装mysql 没怎么出现过问题。而在linux下安装的时候出现了一些问题,昨天在windows 安装的时候也出现了1045 错误。就个人经历来看这个问题就是 root用户password的问题,所以将解决的方式总结例如以下:
一、mysql登录报 1045 错误
mysqladmin: connect to server at ‘localhost‘ failed
error: ‘Access denied for user ‘root‘@‘localhost‘ (using password: YES)‘
我们看到上面的这个错误就是说 user 为root host为localhost的password有问题,所以我们就要看看 mysql数据库中user表中user为root,host为localhost的这个用户的password。
解决的方法:破解mysqlpassword
1、 service mysqld stop
// 停止mysql服务
2、mysqld_safe --skip-grant-tables
// 在mysql的配置文件假设是linux(centos)则在etc/my.cnf配置文件的mysqld_safe 下天加入skip-grant-tables,假设在windows下则在安装文件夹下的my.ini 配置文件的mysqld 下加入 skip-grant-tables, skip-grant-tables是跳过授权表,这样配置之后保存
关闭,又一次启动mysql服务
3、 mysql -uroot -p 回车
// 这样就进来了,这里有两个问题。也是我遇到的两种情况,一种是user表中有user为root的用户。一种是没有,假设有则进行例如以下处理:
(1)、use mysql;
// 使用mysql数据库
(2)、 delete from user where host="localhost" and user=" ";
// 将host为localhost下的user为空的用户都删了。事实上也能够把这里localhost改成 % 免得以后连接的时候连接不了,只是是后话在这里该不该都能够。
(3)、 update user set password=PASSWORD("newpass") where user="root";
// 假设你查询一下你会发现 mysql中的password是加密保存的,所以改动password不能向平时的sql一样 而要使用password("新password")keyword来改动password。新password为password中的字符。
(4)、 flush tables;
//数据刷到磁盘
(5)、 flush privileges;
//更新权限
(6)、quit
//退出
(7)、将配置文件里 skip-grant-tables 凝视/删掉 保存
(8)、service mysqld restart
// 再次启动服务 mysql -uroot -p新password回车 。这样应该能够了
二、 接着上面3、mysql -uroot -p 回车 进入之后use表中没数据,即创建root用户做例如以下处理:
第一种情况,就是user中有root用户可是连接不上是在windows下遇到的,而user中什么都没有是在linux(centos) 下遇到的,详细处理例如以下:
在linux下安装了mysql之后出现错误,刚開始以为就是第一种这样的情况,网上大多也都是这类文章于是就依照这篇文章进行了改动:linux下mysql 初次登陆改动password 改动之后应该没错,但再次启动服务root登录还是不行,以下的就是出现的问题和解决过程:
1、查询看有没有user 为root的用户,或这说user中有没实用户。
|
2、插入用户信息到 user表
因为 mysqld_safe --skip-grant-tables里面是不能用grant的,于是想到了手动insert插入root用户:
**为了大家方便这里提供一些说明:第一个值是host,第二个为user这两项是必填项,password("my_password")这里进行密码的设置。MY_PASSWORD 就是新设的密码 ,而‘Y‘有28个。之后有1个enum和3个blob 能够为空,也就是这里的4个空字符,int类型有4个,默认值为0
|
3、接着在杀掉全部mysql进程。之后正常重新启动mysql,就可以用root用户登录
到眼下个人就遇到的问题总的就这两种,希望对你实用!!
以上是关于windows连接linux mysql 报 (10061)错误的主要内容,如果未能解决你的问题,请参考以下文章
windows linux 下安装mysql 报1045 等错误
Windows+MyEclipse+MySQL连接数据库报错caching_sha2_password