电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> mysql>>mysql常见问题集锦(一):

mysql常见问题集锦(一)

来源:www.cncfan.com | 2006-3-20 | (有3485人读过)

mysql总是崩溃
  首先你应该试着找出问题mysqld守护进程是否死掉或你的问题是否与你的客户有关。你可以用mysqladmin version检查你的mysqld服务器正常执行了多长时间,如果mysqld死了,你可以在文件“mysql-data-directory/''hostname''.err”中找到其原因。


  使用mysql时的一些常见错误

  mysql server has gone away

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

  如果mysqld得到一个太大或不正常的包,它认为客户出错了并关闭连接。


  can''t connect to [local] mysql server

  通常意味着没有一个mysql服务器运行在系统上或当试图连接mysqld服务器时,你正在使用一个错误的套接字文件或tcp/ip端口。

  检查(使用ps)服务器上是否有一个名为mysqld的进程启动

  如果一个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命令中。


  host ''...'' is blocked错误

host ''hostname'' is blocked because of many connection errors.

unblock with ''mysqladmin flush-hosts''

  这意味着,mysqld已经得到了大量(max_connect_errors)的主机''hostname''的在中途被中断了的连接请求。在max_connect_errors次失败请求后,mysqld认定出错了(象来字一个黑客的攻击),并且阻止该站点进一步的连接,直到某人执行命令mysqladmin flush-hosts。

缺省地,mysqld在10个连接错误后阻塞一台主机。你可以通过象这样启动服务器很容易地调整它:

shell> safe_mysqld -o max_connect_errors=10000 &


  too many connections错误

意味着已经有max_connections个客户连接了mysqld服务器。

如果你需要比缺省(100)更多的连接,那么你应该重启mysqld,用更大的 max_connections 变量值。


  out of memory错误

mysql: out of memory at line 42, ''malloc.c''

mysql: needed 8136 byte (8k), memory in use: 12481367 bytes (12189k)

error 2008: mysql client ran out of memory

  注意,错误指向了mysql客户mysql。这个错误的原因很简单,客户没有足够的内存存储全部结果。

  首先检查你的查询是否正确
mysql热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2024 电脑爱好者 版权所有 备案号:鲁ICP备09059398号