广

MYSQL

  • MYSQL
  • MSSQL
  • Redis
  • MongoDB
  • oracle数据库
  • 数据管理

    使用MySQL时的一些常见错误

    2018-04-25 21:45:47 次阅读 稿源:互联网
    零七网广告
    全网推广平台,软文发布

    MySQL server has gone away错误

    本小节也涉及有关Lost connection to server during query的错误。

    对MySQL server has gone away错误最常见的原因是服务器超时了并且关闭了连接。缺省地,如果没有事情发生,服务器在 8个小时后关闭连接。你可在启动mysqld时通过设置wait_timeout变量改变时间限制。

    你可以通过执行mysqladmin version并且检验正常运行的时间来检查MySQL还没死掉。

    如果你有一个脚本,你只须再发出查询让客护进行一次自动的重新连接。

    在这种请下,你通常能获得下列错误代码(你得到的是OS相关的):

    CR_SERVER_GONE_ERROR 客户不能发送一个问题给服务器。

    CR_SERVER_LOST 当写服务器时,客户没有出错,但是它没有得到对问题的一个完整的答案(或任何答案)。

    如果你向服务器发送不正确的或太大的查询,你也可能得到这些错误。如果mysqld得到一个太大或不正常的包,它认为客户出错了并关闭连接。如果你需要较大的查询(例如,如果你正在处理较大的BLOB列),你可以使用-O max_allowed_packet=#选项(缺省1M)启动mysqld以增加查询限制。多余的内存按需分配,这样mysqld只有在你发出较大差询时或mysqld必须返回较大的结果行时,才使用更多的内存!

    Can''t connect to [local] MySQL server错误

    一个MySQL客户可以两种不同的方式连接mysqld服务器:Unix套接字,它通过在文件系统中的一个文件(缺省“/tmp/mysqld.sock”)进行连接;或TCP/IP,它通过一个端口号连接。Unix套接字比TCP/IP更快,但是只有用在连接同一台计算机上的服务器。如果你不指定主机名或如果你指定特殊的主机名localhost,使用Unix套接字。

    错误(2002)Can''t connect to ...通常意味着没有一个MySQL服务器运行在系统上或当试图连接mysqld服务器时,你正在使用一个错误的套接字文件或TCP/IP端口。

    由检查(使用ps)在你的服务器上有一个名为mysqld的进程启动!如果没有任何mysqld过程,你应该启动一个。见4.15.2 启动MySQL服务器的问题。

    如果一个mysqld过程正在运行,你可以通过尝试这些不同的连接来检查服务器(当然,端口号和套接字路径名可能在你的安装中是不同的):

    shell> mysqladmin version
    shell> mysqladmin variables
    shell> mysqladmin -h `hostname` version variables
    shell> mysqladmin -h `hostname` --port=3306 version
    shell> mysqladmin -h ''ip for your host'' version
    shell> mysqladmin --socket=/tmp/mysql.sock version

    注意hostname命令使用反引号“`”而非正引号“''”;这些导致hostname输出(即,当前主机名)被代替进mysqladmin命令中。

    这是可能造成Can''t connect to local MySQL server错误的一些原因:

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七网广告
    零七网广告
    零七网广告
    零七网广告