169it科技资讯
169it -->


当前位置:  数据库>mysql

Lost connection to MySQL server at 'reading authorization packet', system error: 0

    来源: 互联网  发布时间:2014-10-17

1.进入Mysqld

如果已经设置Mysql/Bin环境变量,直接在CMD里输入命令,如果没有设置Mysql环境变量,去Mysql安装目录的Bin文件夹里运行

F:\AppServ\MySQL\bin\mysql.exe -u root -p

其中root是用户名,然后就可以进入Mysql命令行环境了

2.以后的每一句Mysql命令,每次都要以分号;为结束标识,而不是以回车。

3.注意,,每次都需要重启Mysql才可以使设置生效!!

当然了,如果你直接在Mysql安装目录的 my.ini加上设置值,则可以在Mysql启动时加载设置。比如connect_timeout = 120

然后是需要更改什么参数解决这个问题

当WEB服务器负载高的时候,经常会出现这种错误,

原因:

MySQL默认connect_timeout是5秒,超过了这个时间MySQL的server端就会返回“Bad handshake”。

解决办法:

1.大多数时候设置"set global connect_timeout=60;"是可以解决问题的;

我们可以通过执行“SHOWSTATUS LIKE 'aborted%'”,可以观察到 Variable_name Value
Aborted_clients 6
Aborted_connects 15010

觉得是否要增加connect_timeout的时间,"Aborted_connects"将会随着服务端放弃客户端初始连接而增加。如果"Aborted_connects"很大,并且不断增加,就需要增加"connect_timeout".

2.在MySQL的配置文件中[mysqld]添加"skip-name-resolve",减少域名解析的时间
3.部署服务器端的网络要好,至少大于100Mbps/s
4.如果是在调用mysql_query的时候出现的问题,那就需要把"net_read_timeout"的时间调成30秒,或者60秒,或者更大的值
5.如果还不能解决问题,那估计是你的SQL语句中含有BLOB这种大类型,我们就需要增加"max_allowed_packet"的值了


    
相关技术文章:
    ▪MySQL创建用户与授权及撤销用户权限方法

     MySQL中创建用户与授权的实现方法。 运行环境:widnows xp professional + MySQL5.0 一, 创建用户 命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%. password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆mysql服务器. 例子: CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456'; CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456'; CREAT......


    ▪简单实现SQLServer转MYSQL的方法

     本次转换需要依赖使用工具Navicat Premium。     首先,将数据库移至本地SQLServer,我试过直接在局域网上其他SQLServer服务器上想转到本地Mysql好像有问题,想将远程数据库备份恢复到本地。   1、打开Navicat Premium,新建一个同名的数据库,然后在表上点击“导入向导”。并选择“ODBC”。      2、选择SQLServer提供程序,并输入参数。            3、然后就拼命下一步、下一步。            在这里有个条件查询,如果有太多不想要的数据,或者字段类型有问题导致导入出错可以......


    ▪使用mss2sql工具将SqlServer转换为Mysql全记录

     今天想用ruby on rails做一个小项目,需要用到mysql数据库,项目中的数据已经有了,只不过是保存在Sql Server中,用rails倒是可以操作Sql Server,但是总感觉不怎么搭配,想转换后使用,网上翻了下,转换的办法有很多,通过ODBC的,通过PHP程序的,写SQL代码的,觉得转换还是用工具吧,先是用ODBC试着玩了下,发现Sql Server的导出功能对mysql ODBC的支持并不是太好 ODBC分32,64位,一开始下了个32位,在Win7 64位上面显示不出来,又从mysql官网下载了64位版本才可以选择添加 32位版本: http://www./database/142740.html 64位版本: http://www.mysql.com/downloads/connector/odbc/ ......


 
最新技术文章:
    ▪MySQL关闭过程详解和安全关闭MySQL的方法

     本文分析了mysqld进程关闭的过程,以及如何安全、缓和地关闭MySQL实例,对这个过程不甚清楚的同学可以参考下。 关闭过程: 1、发起shutdown,发出SIGTERM信号 2、有必要的话,新建一个关闭线程(shutdown thread)    如果是客户端发起的关闭,则会新建一个专用的关闭线程    如果是直接收到 SIGTERM 信号进行关闭的话,专门负责信号处理的线程就会负责关闭工作,或者新建一个独立的线程负责这个事    当无法创建独立的关闭线程时(例如内存不足),MySQL Server会发出类似下面的告警信息:    Error: Can't create thread to kill se......


    ▪mysql的启动过程详解

     有一天,两个不懂mysql内核的人想去了解mysql内核代码,两个人不是去调试代码、查找资料,而是在那边思考。因为不了解内核,所以边思考边去验证。   使用的mysql代码是5.1.7,调试环境是windows平台下的vs2003。   Bingxi:“alex,你觉得mysql的启动过程会是什么样的呢?我们以银行为例吧。” Alex:“嗯,bingxi。早上银行开门了,会先准备好环境,然后开门迎客,mysql也是这样。Mysql里面会有一个handle_connections_sockets函数,这个函数就好比是个叫号机,每个用户来了都会取个号,然后就会进行业务处理。” 代码如下:......


    ▪Linux中使用mysqladmin extended-status配合Linux命令查看MySQL运行状态

     mysqladmin是MySQL一个重要的客户端,最常见的是使用它来关闭数据库,除此,该命令还可以了解MySQL运行状态、进程信息、进程杀死等。本文介绍一下如何使用mysqladmin extended-status(因为没有"歧义",所以可以使用ext代替)了解MySQL的运行状态。 1. 使用-r/-i参数 使用mysqladmin extended-status命令可以获得所有MySQL性能指标,即show global status的输出,不过,因为多数这些指标都是累计值,如果想了解当前的状态,则需要进行一次差值计算,这就是mysqladmin extended-status的一个额外功能,非常实用。默认的,使用extended-status,看到也是累计值,但是,加上参数......


 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2017,169IT.COM,E-mail:www_169it_com#163.com(请将#改为@)

浙ICP备11055608号