主頁 > 教育培訓 > 電腦培訓 > mysql學習中常見問題集錦解答技巧(2)

mysql學習中常見問題集錦解答技巧(2)

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

  Unblock with 'mysqladmin flush-hosts'

  這意味著,mysqld已經(jīng)得到了大量(max_connect_errors)的主機'hostname'的在中途被中斷了的連接請求。在max_connect_errors次失敗請求后,mysqld認定出錯了(象來字一個黑客的攻擊),并且阻止該站點進一步的連接,直到某人執(zhí)行命令mysqladmin flush-hosts。

  缺省地,mysqld在10個連接錯誤后阻塞一臺主機。你可以通過象這樣啟動服務器很容易地調(diào)整它:

  shell> safe_mysqld -O max_connect_errors=10000 &

  Too many connections錯誤

  意味著已經(jīng)有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。這個錯誤的原因很簡單,客戶沒有足夠的內(nèi)存存儲全部結(jié)果。

  首先檢查你的查詢是否正確

  Packet too large錯誤

  一個MySQL客戶或mysqld服務器得到一個比max_allowed_packet個字節(jié)長的包

  可以通過用mysql --set-variable=max_allowed_packet=8M指定一個更大的緩沖區(qū)來啟動客戶程序。

  The table is full錯誤

  這個錯誤發(fā)生在內(nèi)存臨時表變得比tmp_table_size字節(jié)大時。

  Commands out of sync in client錯誤

  正在以錯誤的次序調(diào)用客戶函數(shù)!

  Ignoring user錯誤

  Found wrong password for user: 'some_user@some_host'">_user@some_host'">'some_user@some_host'; Ignoring user

  這意味著在mysqld啟動時或在它再次裝載權(quán)限表時,它在user表中找到了一個有一個無效口令的條目。結(jié)果,條目簡單地被權(quán)限系統(tǒng)忽略。

  Table 'xxx' doesn't exist錯誤

  數(shù)據(jù)庫和表名件是區(qū)分大小寫的!可以用SHOW TABLES檢查你在當前數(shù)據(jù)庫中有哪個表。

  從一個文本文件運行SQL命令

  可以把SQL命令放在一個文件中并且告訴mysql從該文件讀取其輸入:創(chuàng)造一個文本文件“text_file”,它包含要執(zhí)行的命令。然后如下調(diào)用mysql:

  shell> mysql database < text_file

  或

  shell> mysql < text_file

  啟動有USE db_name語句的文本文件。

  怎樣重新設置一個忘記的口令

  如果忘記了MySQL的root用戶的口令,可以使用如下方法恢復:

  通過發(fā)送一個kill(不是kill -9)到mysqld服務器來關(guān)閉mysqld服務器。pid 被保存在一個.pid文件中,通常在MySQL數(shù)據(jù)庫目錄中:

  kill `cat /mysql-data-directory/hostname.pid`

  你必須是一個UNIX root用戶或運行服務器的相同用戶做這個。

  使用--skip-grant-tables選項重啟mysqld。

  用mysql -h hostname mysql連接mysqld服務器并且用一條GRANT命令改變口令。見7.26 GRANT和REVOKE句法。也可以用mysqladmin -h hostname -u user password 'new password' 進行。

  用mysqladmin -h hostname flush-privileges或用SQL命令FLUSH PRIVILEGES來裝載權(quán)限表。

  使用DATE列的問題

  DATE值的格式是'YYYY-MM-DD'。

  改變一張表中列的順序

免責聲明:該文觀點僅代表作者本人,查查吧平臺系信息發(fā)布平臺,僅提供信息存儲空間服務,不承擔相關(guān)法律責任。圖片涉及侵權(quán)行為,請發(fā)送郵件至85868317@qq.com舉報,一經(jīng)查實,本站將立刻刪除。返回查查吧首頁,查看更多>>
提示

該文觀點僅代表作者本人,查查吧平臺系信息發(fā)布平臺,僅提供信息存儲空間服務,不承擔相關(guān)法律責任。圖片涉及侵權(quán)行為,請發(fā)送郵件至85868317@qq.com舉報,一經(jīng)查實,本站將立刻刪除。

優(yōu)惠商城

更多