亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? manual_problems.html

?? mysql 使用文檔 如何應用mysql進行開發
?? HTML
?? 第 1 頁 / 共 4 頁
字號:
<html>

<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<title>MySQL中文參考手冊-18 問題和常見錯誤</title>
<style type="text/css">
<!--
.p14{font-size:14.8px;font-family:宋體;line-height:14pt;}
.p5{ border: 1px solid rgb(146,201,201) }
.a:hover{color:red;}
a.t1:visited{color:red;}
-->
</style>
</head>

<body BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#101090" VLINK="#7030B0" class="p4">

<h1><img src="Img/mysql-logo.gif" alt="mysql-logo.gif (3082 bytes)" WIDTH="127" HEIGHT="60"><font color="#FF0000">MySQL中文參考手冊</font></h1>

<p>翻譯:<a href="mailto:clyan@sohu.com">晏子</a>(yanzi) 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 主頁:<a href="http://linuxdn.yeah.net">http://linuxdb.yeah.net</a></p>

<hr>

<p><a HREF="manual_Introduction.html">第一章</a>, <a HREF="manual_Common_programs.html">前一章</a>, 
<a HREF="manual_Common_problems.html">下一章</a>, <a HREF="manual_Concept_Index.html">最后一章</a>,<a HREF="manual_toc.html">目錄</a>. </p>

<hr>

<h1><a NAME="Problems" HREF="manual_toc.html#Problems">18 問題和常見錯誤</a></h1>

<h2><a NAME="Crashing" HREF="manual_toc.html#Crashing">18.1 如果MySQL總是崩潰怎么辦</a></h2>

<p>所有<strong>MySQL</strong>在發布它們之前,在許多平臺上被測試。這并不意味著在<strong>MySQL</strong>中沒有任何錯誤,但是如果有錯誤,它們是很少的并且很能難發現。如果你有一個問題并且如果你嘗試找出究竟是什么摧毀了你的系統,它將總是有幫助的,因為你將有一個更好機會使得它被快速修復。</p>

<p>首先你應該試著找出問題<code>mysqld</code>守護進程是否死掉或你的問題是否與你的客戶有關。你可以用<code>mysqladmin 
version</code>檢查你的<code>mysqld</code>服務器正常執行了多長時間,如果<code>mysqld</code>死了,你可以在文件<tt>“mysql-data-directory/'hostname'.err”</tt>中找到其原因。 
</p>

<p>因為很難知道一些東西為什么崩潰,首先試著檢查為其它人工作的東西是否使你崩潰。請嘗試下列事情: 

<ul>
  <li>與<code>mysqladmin shutdown</code>停止<code>mysqld</code>守護進程,在所有表上運行<code>myisamchk 
    --silent --force */*.MYI</code>并重啟<code>mysqld</code>守護經進程。這將保證你從一個干凈的狀態運行。見<a HREF="manual_Maintenance.html#Maintenance">13 維護MySQL安裝</a>。</li>
  <li>使用<code>mysqld --log</code>并且試著從日志信息確定是否是某個特定的查詢殺死了服務器。全部錯誤的95%與特定的查詢有關!通常它是在日志文件中就在<strong>MySQL</strong>重啟之前的最后查詢之一。你也許可以使用下列過程驗證它:<ul>
      <li>停止<strong>MySQL</strong>守護進程(用<code>mysqladmin shutdown</code>)。</li>
      <li>在<strong>MySQL</strong>數據庫目錄下做文件的一個備份。 </li>
      <li>與<code>myisamchk -s */*.MYI</code>檢查表以驗證所有表是正確的。如果有任何表被損壞,用<code>myisamchk 
        -r path-to-table.MYI</code>修復它。</li>
      <li>從<strong>MySQL</strong>數據目錄刪除(或移走)任何舊的日志文件。 </li>
      <li>用<code>safe_mysql --log</code>啟動服務器。</li>
      <li>如果<code>mysqld</code>現在死掉,你可以通過恢復備份并執行<code>mysql 
        &lt; mysql-log-file</code>來測試問題是否是一個特定的查詢引起的。當然你可以通過用<code>safe_mysqld 
        --data=path-to-backup-directory</code>啟動另一個<strong>MySQL</strong>服務器,在某個其他目錄而不是標準<strong>MySQL</strong>數據庫目錄下做后面的測試。</li>
    </ul>
  </li>
  <li>你試用了基準測試嗎?他們應該很好地測試<strong>MySQL</strong>。你也可以增加代碼模擬你的應用程序!基準程序可在源代碼分發的<tt>“bench”</tt>目錄下找到,或對二進制分發,在你的<strong>MySQL</strong>安裝目錄下<tt>“sql-bench”</tt>目錄。 
  </li>
  <li>試一下<code>fork_test.pl</code>和<code>fork2_test.pl</code>。</li>
  <li>對任何錯誤檢查文件<tt>“mysql-data-directory/'hostname'.err”</tt>。 </li>
  <li>如果你配置<strong>MySQL</strong>以便調試,如果出錯,收集可能的錯誤信息將更容易。使用<code>--with-debug</code>選項的<code>configure</code>重新配置<strong>MySQL</strong>然后重新編譯。見<a HREF="manual_Porting.html#Debugging_server">G.1 調試一個 MySQL 服務器</a>。</li>
  <li>為調試而配置<strong>MySQL</strong>使它包含一個安全的內存分配器以便能發現一些錯誤。它也提供關于正在發生什么的大量輸出。</li>
  <li>你為你的操作系統使用了最新的補丁嗎? </li>
  <li>使用<code>mysql</code>的<code>--skip-locking</code>選項.在一些系統上,<code>lockd</code>鎖管理器不能正確工作;<code>--skip-locking</code>選項告訴<code>mysqld</code>不使用外部鎖。(這意味著你不能在同一個數據上運行兩個<code>mysqld</code>服務器而且如果你使用<code>myisamchk</code>,你一定要小心,但是它對為了測試試用選項可能有益。)</li>
  <li>當<code>mysqld</code>好象正在運行但沒有反應時,你嘗試過<code>mysqladmin 
    -u root processlist</code>嗎?有時<code>mysqld</code>不是毫無反應,盡管你可能這樣認為。問題可能是所有在用的連接,或可能用內部鎖定問題。<code>mysqladmin 
    processlist</code>甚至在這些情況下將通常可以進行一個連接,并且能提供有關當前連接數量及其狀態的有用信息。</li>
  <li>在你運行其他查詢時,在一個單獨窗口中運行命令<code>mysqladmin -i 5 
    status</code>,產生統計。</li>
  <li>嘗試下列步驟: <ol>
      <li>通過<code>gdb</code>(或其他調試器)啟動<code>mysqld</code>。</li>
      <li>運行你的測試腳本。 </li>
      <li>當<code>mysqld</code>核心傾倒(core dump),做<code>back</code>(或你調試器中的回溯-backtrace命令)。</li>
    </ol>
  </li>
  <li>嘗試用一個Perl腳本模擬你的應用程序以強制<strong>MySQL</strong>崩潰或表現不正確。</li>
  <li>或發一份正式的錯誤報告。見<a HREF="manual_Questions.html#Bug_reports">2.3 
    如何報告錯誤或問題</a>,但是要不平常更詳細。因為<strong>MySQL</strong>為很多人的工作,導致崩潰的東西可能只存在于你的計算機上(例如,與你的特定系統庫有關的一個錯誤)。</li>
  <li>如果你的問題有具有動態長度行的表有關,并且你不使用<code>BLOB/TEXT</code>列(但是僅<code>VARCHAR</code>列),你可以用<code>ALTER 
    TABLE</code>試著將全部<code>VARCHAR</code>改為<code>CHAR</code>,這將強制<strong>MySQL</strong>使用固定尺寸的行。固定尺寸的行占據很小的額外空間,但是更能容忍崩潰!當前動態行的代碼在 
    TCX 至少使用3 
    年的時間,沒有任何問題,但是從本質上講,動態長度的行對錯誤更敏感,因此如果上述對你有幫助,嘗試一下可能是一個好主意!</li>
</ul>

<h2><a NAME="Common_errors" HREF="manual_toc.html#Common_errors">18.2 使用MySQL時的一些常見錯誤</a></h2>

<h3><a NAME="Gone_away" HREF="manual_toc.html#Gone_away">18.2.1<code> MySQL server has 
gone away</code>錯誤</a></h3>

<p>本小節也涉及有關<code>Lost connection to server during query</code>的錯誤。</p>

<p>對<code>MySQL server has gone away</code>錯誤最常見的原因是服務器超時了并且關閉了連接。缺省地,如果沒有事情發生,服務器在 
8個小時后關閉連接。你可在啟動mysqld時通過設置<code>wait_timeout</code>變量改變時間限制。</p>

<p>你可以通過執行<code>mysqladmin version</code>并且檢驗正常運行的時間來檢查<strong>MySQL</strong>還沒死掉。</p>

<p>如果你有一個腳本,你只須再發出查詢讓客護進行一次自動的重新連接。</p>

<p>在這種請下,你通常能獲得下列錯誤代碼(你得到的是OS相關的):</p>

<table BORDER="1" WIDTH="100%" NOSAVE="#101090" class="p4">
  <tr>
    <td><code>CR_SERVER_GONE_ERROR</code> </td>
    <td>客戶不能發送一個問題給服務器。 </td>
  </tr>
  <tr>
    <td><code>CR_SERVER_LOST</code> </td>
    <td>當寫服務器時,客戶沒有出錯,但是它沒有得到對問題的一個完整的答案(或任何答案)。 
    </td>
  </tr>
</table>

<p>如果你向服務器發送不正確的或太大的查詢,你也可能得到這些錯誤。如果<code>mysqld</code>得到一個太大或不正常的包,它認為客戶出錯了并關閉連接。如果你需要較大的查詢(例如,如果你正在處理較大的<code>BLOB</code>列),你可以使用<code>-O 
max_allowed_packet=#</code>選項(缺省1M)啟動<code>mysqld</code>以增加查詢限制。多余的內存按需分配,這樣<code>mysqld</code>只有在你發出較大差詢時或<code>mysqld</code>必須返回較大的結果行時,才使用更多的內存!</p>

<h3><a NAME="Can_not_connect_to_server" HREF="manual_toc.html#Can_not_connect_to_server">18.2.2<code> 
Can't connect to [local] MySQL server</code>錯誤</a></h3>

<p>一個<strong>MySQL</strong>客戶可以兩種不同的方式連接<code>mysqld</code>服務器:Unix套接字,它通過在文件系統中的一個文件(缺省<tt>“/tmp/mysqld.sock”</tt>)進行連接;或TCP/IP,它通過一個端口號連接。Unix套接字比TCP/IP更快,但是只有用在連接同一臺計算機上的服務器。如果你不指定主機名或如果你指定特殊的主機名<code>localhost</code>,使用Unix套接字。</p>

<p>錯誤(2002)<code>Can't connect to ...</code>通常意味著沒有一個<strong>MySQL</strong>服務器運行在系統上或當試圖連接<code>mysqld</code>服務器時,你正在使用一個錯誤的套接字文件或TCP/IP端口。 
</p>

<p>由檢查(使用<code>ps</code>)在你的服務器上有一個名為<code>mysqld</code>的進程啟動!如果沒有任何<code>mysqld</code>過程,你應該啟動一個。見<a HREF="manual_Installing.html#Starting_server">4.15.2 啟動MySQL服務器的問題</a>。</p>

<p>如果一個<code>mysqld</code>過程正在運行,你可以通過嘗試這些不同的連接來檢查服務器(當然,端口號和套接字路徑名可能在你的安裝中是不同的):</p>

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

<p>注意<code>hostname</code>命令使用反引號“`”而非正引號“'”;這些導致<code>hostname</code>輸出(即,當前主機名)被代替進<code>mysqladmin</code>命令中。</p>

<p>這是可能造成<code>Can't connect to local MySQL server</code>錯誤的一些原因: 

<ul>
  <li><code>mysqld</code>不在運行。 </li>
  <li>你正在使用MIT-pthreads的一個系統上運行。如果正在運行在一個沒有原生線程的系統上,<code>mysqld</code>使用 
    MIT-pthreads 軟件包。見<a HREF="manual_Installing.html#Which_OS">4.2 由MySQL支持的操作系統</a>。然而,MIT-pthreads不支持Unix套接字,因此當與服務器連接時,在這樣一個系統上,你總是必須明確地指定主機名。試試使用這個命令檢查到服務器的連接:<pre>shell&gt; mysqladmin -h `hostname` version
</pre>
  </li>
  <li>某人刪除了<code>mysqld</code>使用的Unix套接字(缺省<tt>“/tmp/mysqld.sock”</tt>)。你可能有一個<code>cron</code>任務刪除了<strong>MySQL</strong>套接字(例如,一個把舊文件從<tt>“/tmp”</tt>目錄中刪除的任務)。你總是可以運行<code>mysqladmin 
    version</code>并且檢查<code>mysqladmin</code>正在試圖使用的套接字確實存在。在這種情況下,修復方法是刪除<code>cron</code>任務而不刪除<tt>“mysqld.sock 
    </tt>或將套接字放在其他地方。你能用這個命令在<strong>MySQL</strong>配置時指定一個不同的套接字地點:<pre>shell&gt; ./configure --with-unix-socket-path=/path/to/socket
</pre>
    <p>你也可以使用<code>--socket=/path/to/socket</code>選項啟動<code>safe_mysqld</code>和在啟動你的<strong>MySQL</strong>客戶前設置環境變量<code>MYSQL_UNIX_PORT</code>為套接字路徑名。你可用<code>--socket=/path/to/socket</code>選項啟動<code>mysqld</code>服務器。如果你改變了服務器的套接字路徑名,你也必須通知<strong>MySQL</strong>客戶關于新路徑的情況。你可以通過設置環境變量<code>MYSQL_UNIX_PORT</code>為套接字路徑名或由提供套接字路徑名作為客戶的參數做到。你可用這個命令測試套接字:</p>
    <pre>shell&gt; mysqladmin --socket=/path/to/socket version
</pre>
  </li>
  <li>你正在使用 Linux和線程已經死了(核心傾倒了)。在這種情況中,你必須殺死其它<code>mysqld</code>線程(例如在啟動一個新的<strong>MySQL</strong>服務器之前,可以用<code>mysql_zap</code>腳本)。見<a HREF="manual_Problems.html#Crashing">18.1 如果MySQL總是崩潰怎么辦</a>。</li>
</ul>

<p>如果你得到錯誤<code>Can't connect to MySQL server on some_hostname</code>,你可以嘗試下列步驟找出問題是什么: 

<ul>
  <li>通過執行<code>telnet your-host-name tcp-ip-port-number</code>并且按幾次回車來檢查服務器是否正常運行。如果有一個<strong>MySQL</strong>運行在這個端口上,你應該得到一個包含正在運行的<strong>MySQL</strong>服務器的版本號的應答。如果你得到類似于<code>telnet: 
    Unable to connect to remote host: Connection refused</code>的一個錯誤,那么沒有服務器在使用的端口上運行。</li>
  <li>嘗試連接本地機器上的<code>mysqld</code>守護進程,并用<code>mysqladmin 
    variables</code>檢查mysqld被配置使用的TCP/IP端口(變量<code>port</code>)。 </li>
  <li>檢查你的<code>mysqld</code>服務器沒有用<code>--skip-networking</code>選項啟動。 
  </li>
</ul>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91亚洲精品乱码久久久久久蜜桃 | 亚洲一区中文日韩| 久久久不卡网国产精品一区| 欧美日韩国产免费一区二区| 成人一区二区三区| 大陆成人av片| 成人短视频下载 | 狠狠色丁香九九婷婷综合五月| 日韩伦理av电影| 中文字幕亚洲一区二区va在线| 国产精品久久久久影视| 777午夜精品免费视频| 欧美福利电影网| 日韩三区在线观看| 欧美国产欧美综合| 久久久久九九视频| 1024成人网色www| 无码av免费一区二区三区试看 | 最新日韩在线视频| 亚洲一二三区在线观看| 免费看日韩精品| 成人免费av网站| 欧美乱熟臀69xxxxxx| 久久亚洲精华国产精华液| 亚洲欧洲无码一区二区三区| 日韩精品成人一区二区在线| 精品一区二区三区免费视频| 99久久99久久综合| 日韩免费观看高清完整版| 日韩毛片在线免费观看| 麻豆精品一区二区综合av| 93久久精品日日躁夜夜躁欧美| 欧美综合亚洲图片综合区| 精品国产精品网麻豆系列| 亚洲人成伊人成综合网小说| 国内成人自拍视频| 91精品国产综合久久久久久久久久| 久久综合九色综合欧美亚洲| 一区二区成人在线视频| 成人天堂资源www在线| 欧美mv和日韩mv的网站| 亚洲成人精品影院| 91一区二区在线观看| 一色桃子久久精品亚洲| 国产一区二区三区久久久| 欧美日本在线观看| 日韩欧美中文一区二区| 亚洲一区在线视频| 欧美精品日日鲁夜夜添| 一区二区三区四区在线免费观看| 色综合天天综合网天天狠天天| 久久久久久久性| av在线这里只有精品| 亚洲成a人v欧美综合天堂下载 | 一区二区高清免费观看影视大全| 一本久久a久久精品亚洲| 亚洲成av人片www| 国产欧美一区二区三区网站 | 日韩国产欧美一区二区三区| 国产香蕉久久精品综合网| 99精品视频一区二区三区| 午夜精品一区二区三区三上悠亚| 日韩免费高清视频| av成人老司机| 国内精品在线播放| 亚洲成精国产精品女| 成人免费在线观看入口| 91福利视频网站| 国产一区二区三区四区在线观看 | 狠狠v欧美v日韩v亚洲ⅴ| 久久久久久免费网| 这里只有精品免费| 色婷婷国产精品综合在线观看| 麻豆国产精品777777在线| 日韩理论在线观看| 亚洲天堂成人在线观看| 久久亚洲私人国产精品va媚药| 欧美日韩的一区二区| 在线看不卡av| 色婷婷综合激情| 一本色道久久综合精品竹菊| 成人午夜精品一区二区三区| 国产精品综合网| 粉嫩av一区二区三区| 国产一区二区女| 国产98色在线|日韩| 成人免费视频一区二区| 国产精品一区二区三区四区 | 日韩免费观看2025年上映的电影 | 99re66热这里只有精品3直播 | 久久久综合视频| 欧美大片一区二区| 久久综合999| 欧美激情一区二区三区全黄| 国产网站一区二区三区| 国产精品初高中害羞小美女文| 国产精品久久久久久久久图文区 | 国产69精品久久99不卡| 99久久精品国产一区| 91九色02白丝porn| 精品久久久网站| 亚洲欧美一区二区三区极速播放 | 91美女在线看| 日韩欧美国产高清| 亚洲图片欧美激情| 麻豆91精品视频| 91看片淫黄大片一级在线观看| 欧美视频一区二区三区四区| 欧美成人三级电影在线| 亚洲一区二区在线免费看| 狠狠色综合日日| 欧美日韩卡一卡二| 中文一区在线播放| 久久精品国产精品亚洲精品| 99re热这里只有精品免费视频| 日韩一区二区三区免费观看| 中文字幕在线不卡一区二区三区| 日韩av一区二区三区四区| 日本精品一级二级| 亚洲视频香蕉人妖| 国产成人av一区二区三区在线| 91精品国产欧美一区二区| 亚洲永久免费视频| 欧美亚洲免费在线一区| 亚洲四区在线观看| 色噜噜狠狠一区二区三区果冻| 欧美激情一区在线观看| 国产精品资源在线| 国产亚洲欧美日韩在线一区| 国产精品一区一区三区| 精品国产a毛片| 国产九九视频一区二区三区| 久久精品一二三| 成人免费视频视频| 中文字幕一区二| 欧美三级电影网| 精品一区二区三区av| 久久亚洲影视婷婷| 国产成人av一区二区三区在线观看| 久久只精品国产| 成人av小说网| 亚洲国产乱码最新视频 | 日韩美女视频一区二区| 欧美精品久久久久久久多人混战| 久久成人18免费观看| 久久九九99视频| 欧美日韩国产一级| 国产精品99精品久久免费| 亚洲午夜在线电影| 国产午夜久久久久| 欧美日韩国产乱码电影| 国产一区二区调教| 亚洲成人在线免费| 欧美国产精品专区| 精品国产精品网麻豆系列| 91美女在线视频| 国产河南妇女毛片精品久久久| 一级日本不卡的影视| 2014亚洲片线观看视频免费| 在线观看亚洲成人| 国产成人99久久亚洲综合精品| 视频一区欧美精品| 亚洲一区在线免费观看| 中文字幕亚洲精品在线观看 | 国产自产2019最新不卡| 午夜精品一区二区三区电影天堂| 亚洲手机成人高清视频| 国产欧美一区二区三区沐欲| 欧美一级免费观看| 欧美一级生活片| 日韩一区二区电影在线| 欧美一区二区私人影院日本| 欧美无砖砖区免费| 日韩亚洲欧美成人一区| 欧美一卡二卡在线| 久久久一区二区| 国产欧美日韩视频在线观看| 精品第一国产综合精品aⅴ| 精品欧美乱码久久久久久| 26uuu国产日韩综合| 国产亚洲精品免费| 日韩美女啊v在线免费观看| 亚洲精品视频在线看| 欧美日韩一区二区三区四区五区 | 一区二区三区视频在线观看| 亚洲制服欧美中文字幕中文字幕| 一区二区三区小说| 美国毛片一区二区三区| 国产精品亚洲а∨天堂免在线| 国产成人欧美日韩在线电影| 99国产精品久| 欧美一卡在线观看| 中文字幕人成不卡一区| 婷婷久久综合九色综合绿巨人| 久久激情五月激情| 色综合久久中文字幕综合网 | 免费一级欧美片在线观看| 国产盗摄女厕一区二区三区| 欧洲一区在线观看| 日本一区免费视频|