MySQL常见问题集锦解答及技巧


一、认知篇
   MySQL初学者使用指南与介绍
  学习 MySQL常用操作命令
  学习 MySQL多表操作和备份处理
   MySQL数据库学习心得(1)
   MySQL数据库学习心得(2)
  
  二、常见问题集锦

  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个连接错误后阻塞一台主机。你可以通过象这样启动服务器很容易地调整它:

你可能感兴趣的:(数据库)