程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> MySQL常見問題集錦解答及技巧

MySQL常見問題集錦解答及技巧

編輯:關於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個連接錯誤後阻塞一台主機。你可以通過象這樣啟動服務器很容易地調整它:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved