日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql illegal mix of_mysql字符集问题:Illegal mix of collations

發布時間:2024/10/8 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql illegal mix of_mysql字符集问题:Illegal mix of collations 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

jinlinlucky:二、多路處理模塊的配置說明|@||@|Apache HTTP服務器是一個強大的、靈活的能夠在多種平臺、不同環境下運行的Web服務器。由于不同的平臺和不同的環境經常產生不同的需求,為了達到同樣的最佳效果則需要采取不同的實現方法, Apache的模塊化設計就可以很好的適應大量不同的環境。使得網站管理員能夠在編譯和運行時憑借載入不同的模塊來決定服務器的附加功能。Apache的多路處理模塊(MPM)就是用于選擇處理網絡端口綁定、接受請求并指派子進程處理來自客戶端的請求。|@||@|默認的MPM|@||@|下表列出了不同操作系統上默認的MPM。如果編譯時沒有進行選擇,這將是默認選擇的MPM。|@||@|操作系統名稱|@|MPM名稱|@||@|BeOS|@|beos|@||@|Netware|@|mpm_netware|@||@|OS/2|@|mpmt_os2|@||@|Unix|@|prefork|@||@|Windows|@|mpm_winnt|@||@||@|1、prefork.c模塊(一個非線程型的、預派生的MPM)|@||@|prefork.c模塊是由一個單獨的控制進程(父進程)負責產生子進程,這些子進程用于監聽請求并作出應答。Apache設置了一些備用的(spare)或者是空閑的子進程來處理即將接收的請求,這樣可以避免服務器接收到請求后在創建子進程。在Unix系統中,父進程通常以root身份運行以便邦定80端口,而 Apache產生的子進程通常以一個低特權的用戶運行。User和Group參數就是用于設置子進程的低特權用戶。運行子進程的用戶必須要對它所服務的內容有讀取的權限,但是對服務內容之外的其他資源最好擁有盡可能少的權限。|@||@|【配置示例】|@||@||@||@|StartServers ? ? ? 8|@||@|MinSpareServers ? ? 5|@||@|MaxSpareServers ? 20|@||@|ServerLimit ? ? ? 400|@||@|MaxClients ? ? ? 256|@||@|MaxRequestsPerChild 4000|@||@||@||@||@|【參數說明】|@||@|1.ServerLimit|@|默認的MaxClient最大是256個線程,如果想設置更大的值,就需要修改ServerLimit這個參數。例子中的400是ServerLimit這個參數的最大值。如果需要更大,則必須編譯apache,此前都是不需要重新編譯Apache。|@||@|2.StartServers |@|指定服務器啟動時建立的子進程數量,因為子進程的數量動態的取決于負載的輕重,所以一般沒有必要調整這個參數,prefork模式默認為5。|@||@|3.MinSpareServers |@|指定空閑子進程的最小數量,所謂空閑子進程是指沒有正在處理請求的子進程。默認為5。如果當前空閑子進程數少于MinSpareServers ,那么Apache將以最大每秒一個的速度產生新的子進程,只有機器在非常繁忙的情況下才需要調整這個參數。|@||@|4.MaxSpareServers |@|設置空閑子進程的最大數量。默認為10。如果當前有超過MaxSpareServers數量的空閑子進程,那么父進程將殺死多余的子進程。如果該參數的值設置比MinSpareServers小,Apache則會自動將其修改成"MinSpareServers+1"。|@||@|5.MaxClients|@|指可以服務于客戶端請求的最大子進程數量,即限定同一時間客戶端最大接入請求的數量,默認值為256。任何超過MaxClients限制的請求都將進入等候隊列,一旦一個連接被釋放,隊列中的請求將得到服務。|@||@|6.MaxRequestsPerChild |@|每個子進程在其生存期內允許處理的最大請求數,默認為10000.到達MaxRequestsPerChild的限制后,子進程將會結束。如果MaxRequestsPerChild為"0",子進程將永遠不會結束。這個參數也可以理解成控制服務器殺死舊進程產生新進程的頻率。|@|注意:|@|從系統穩定性來考慮將MaxRequestsPerChild設置成非零有兩個好處:|@|1.可以防止(偶然的)內存泄漏無限進行,從而耗盡內存。|@|2.給進程一個有限壽命,從而有助于當服務器負載減輕的時候減少活動進程的數量。|@||@|【工作原理介紹】|@||@|首先服務啟動后會創建以StartServers個數的進程,然后等待來自客戶端的請求。我們這里先假設從客戶端來了大量的請求,這時Apache服務器會根據自身的負載情況自動創建新進程,如果服務器一直沒有空閑進程那么它就會一直創建新進程,直到滿足MaxClients和ServerLimit設置的最大值。如果來自客戶端的負載沒有那么大,Apache服務器將會根據MinSpareServers、MaxSpareServers和MaxRequestsPerChild設置的值來殺掉多余的進程。其中每個進程在某個確定的時間只能維持一個連接。|@||@|【小結】|@||@|上面敘述的這些參數中,對系統性能影響較大的有兩個:MaxClients 和ServerLimit。這個兩個參數主要影響Web服務器處理客戶端請求的能力,它們決定著服務器創建用來處理請求的進程的最大值。如果來自客戶端的請求總數已經達到系統創建進程的最大值(可通過ps -ef|grep http|wc –l來確認),那么后面來的請求就要排隊,直到某個已處理請求完成。這就是應用系統資源還很富余而HTTP訪問卻很慢的主要原因。如何找出這個兩個參數的最佳值需要綜合很多因素,但一般情況下可以參考系統性能測試結果和Web服務器的系統資源。|@||@|注意:prefork模式下創建較多的進程將會占去大量系統內存,如果MaxClients和ServerLimit設置過大時可能會造成Web服務器崩潰。|@||@|2、worker.c模塊(支持混合的多線程多進程的多路處理模塊)|@| worker 模塊使用多個子進程,每個子進程有多個線程。每個線程在某個確定的時間只能維持一個連接。通常來說,在一個高流量的HTTP服務器上,worker 模式是個比較好的選擇,因為它的內存使用比prefork要低得多。但worker模式也有不完善的地方,如果一個線程崩潰,整個進程就會連同其所有線程一起"死掉"。由于線程共享內存空間,所以一個進程在運行時必須被系統識別為"每個線程都是安全的"。|@||@|【配置示例】 |@||@||@||@|StartServers ? ? 2|@||@|MaxClients ? ? 400|@||@|ServerLimit ? ? 12|@||@|MinSpareThreads ? 25|@||@|MaxSpareThreads ? 75|@||@|ThreadsPerChild ? 25|@||@|ThreadLimit ? ? 75|@||@|MaxRequestsPerChild 0|@||@||@||@||@|【參數說明】|@||@|1.ServerLimit |@|服務器允許配置的進程數上限。這個參數和ThreadLimit結合使用便決定了MaxClients所能設置的最大值。任何在重啟期間對這個參數的改變都將被忽略,但對MaxClients的修改卻會生效。|@||@|2.ThreadLimit|@|每個子進程可設置的線程數上限,這個參數決定了每個子進程可創建線程的數,即ThreadsPerChild的上限。任何在重啟期間對這個參數的改變都將被忽略,但對ThreadsPerChild的修改卻會生效。默認值是"64".|@||@|3.StartServers |@|服務器啟動時建立的子進程數,默認值是"3"。|@||@|4.MinSpareThreads |@|最小空閑線程數,默認值是75。MPM將基于整個服務器監視空閑線程數。如果服務器中總的空閑線程數太少,子進程將產生新的空閑線程。|@||@|5.MaxSpareThreads |@|設置最大空閑線程數。默認值是250。MPM將基于整個服務器監視空閑線程數。如果服務器中總的空閑線程數太多,子進程將殺死多余的空閑線程。MaxSpareThreads的取值范圍是有限制的,在Apache的 worker模式下是要求大于等于 MinSpareThreads與ThreadsPerChild之和來自動修正你設置的值。|@||@|6.MaxClients |@|允許同時接收客戶端最大請求的數量(最大線程數量)。任何超過MaxClients限制的請求都將進入等候隊列。默認值是400,即16 (ServerLimit)乘以25(ThreadsPerChild)。因此需要增加MaxClients的時候,你必須同時增加 ServerLimit的值。|@||@|7.ThreadsPerChild |@|每個子進程建立常駐的執行線程數。默認值是25。子進程在啟動時建立這些線程后就不再建立新的線程了。|@||@|8.MaxRequestsPerChild |@|設置每個子進程在其生存期內允許提供服務的最大請求數量。到達MaxRequestsPerChild的限制后,子進程將會結束。如果MaxRequestsPerChild為"0",子進程將永遠不會結束。|@||@|將MaxRequestsPerChild設置成非零值有兩個好處:|@|1.可以防止(偶然的)內存泄漏無限進行,從而耗盡內存。|@|2.給進程一個有限壽命,從而有助于當服務器負載減輕的時候減少活動進程的數量。|@|注意|@|對于KeepAlive鏈接,只有第一個請求會被計數。事實上,它改變了每個子進程限制最大鏈接數量的行為。|@||@|【工作原理介紹】:|@||@|worker的工作原理是:先由主控制進程創建“StartServers”個子進程,每個子進程中含有“ThreadsPerChild”個線程,各個線程獨立地處理來自客戶端的請求。同Prefork一樣,為了不在請求到來時在去創建線程,MinSpareThreads和MaxSpareThreads決定了最少和最多空閑線程數;隨著負載逐漸增大,而現有子進程中的線程不能滿足負載時,主控進程將按照“ServerLimit”和“MaxClients”的限制去創建新進程,如果“ServerLimit”達到上限而ServerLimit* ThreadsPerChild ThreadsPerChild。如果“ServerLimit”未達到上限而“MaxClients”達到上限,那么服務器將不采取任何行動。倘若負載逐漸減小,那么Apache服務器將根據實際情況去消減線程或進程。|@||@|【小結】|@| 在worker模式下MinSpareThreads和MaxSpareThreads的最大缺省值分別是75和250。這兩個參數對Apache的性能影響并不大,可以按照實際情況做相應調節。 而ThreadsPerChild參數是最影響性能的一個,因為worker模式下所能同時處理的請求總數是由子進程總數與ThreadsPerChild之積來決定的。它的最大缺省值是64,如果負載較大,64也是不夠的。這時要顯式使用ThreadLimit指令,它的最大缺省值是20000。。注意,不要把這兩個值設得太高,如果超過系統的處理能力,會使系統很不穩定,這個值最好參考性能測試的結果來設,同時子進程總數與ThreadsPerChild之積應該略大于MaxClinets。|@||@||@||@|三、配置靜態文件|@||@|目前基于B/S結構的Web頁面有動態和靜態兩種形式,其中動態頁面需由服務器的解析器進行解析,通常還需連接數據庫,進行數據庫存取操作,最后形成HTML語言信息包反饋給瀏覽者;而靜態頁面,則無須解析,無須連接數據庫,直接反饋給客戶端就可以。  |@||@|這里說的靜態文件就是指在服務器端無需進行任何處理,就可以直接反饋給瀏覽器的文件,例如:HTML、JS,CSS、JPG、BMP等等。|@||@|將應用系統中的靜態文件配置到Apache服務器上有幾大好處,首先從客戶角度來看Web頁面的響應時間提高了,其次從系統資源來看應用服務器能專心處理動態文件,所以充分發揮了它的效能,再次從系統穩定性來看Apache服務器屏蔽了所有靜態文件的請求,減輕了應用服務器的壓力從而降低了由大訪問量帶來宕機的風險。|@||@|【配置示例1】|@||@|Alias /images/ "/home/hrdc/images/"|@||@||@||@|Options Indexes FollowSymLinks|@||@|AllowOverride None|@||@|Order allow,deny|@||@|Allow from all|@||@||@||@|#配置圖片請求映射,與CSS,JS的配置類似。|@||@||@||@||@||@| WebLogicCluster 192.64.96.18:8018,192.64.96.11:8011|@||@| MatchExpression /file/*|@||@| MatchExpression *.jsp|@||@| MatchExpression *.jsf|@||@| MatchExpression *.rtf|@||@| MatchExpression *.xls|@||@| MatchExpression *.doc|@||@| MatchExpression /console*|@||@||@||@||@||@|#配置Webloig模塊中的參數。|@||@||@|【關鍵參數說明】|@||@|l VirtualHost|@||@|虛擬主機。|@||@|【說明】|@||@|在這個參數內可以模仿一個Web服務配置眾多參數,即在和中配置一組僅作用于特定虛擬主機的參數。|@||@|示例|@||@||@|ServerAdmin ? hrdc.zh@ccb.cn |@|DocumentRoot /home/hrdc|@|ServerName ? hrdc.ccb.cn|@|ErrorLog logs/host.foo.com-error_log|@|TransferLog logs/host.foo.com-access_log|@| |@||@||@|注意:每個虛擬主機必須對應不同的IP地址、端口或是不同的主機名。|@||@|中定義的監聽地址只代表虛擬主機并不是指定Apache服務的監聽地址。指定Apache監聽地址的參數則是Listen。|@||@|l IfModule|@||@|根據指定的模塊是否啟用為條件來決定是否進行處理。|@||@|【語法】|@||@| ... |@||@|【說明】|@||@|在該參數中配置的表達式為真的時候才進行處理。如果為假,所有其包含的參數都將被忽略。|@||@|段中的表達式可以為以下兩種方式之一來表達:|@||@|· ? ? module |@||@|· ? ? !module |@||@|第一種情況表示,在和之間的配置參數僅當module被載入后才被執行。此模塊可以是編譯時靜態鏈接的核心模塊或是使用LoadModule指令動態載入的模塊。第二種情況則表示,僅當module沒有載入時才執行參數內的配置處理。|@||@|module可以是模塊的標識符或者是編譯模塊時的文件名。在上面的例子中,mod_weblogic.c就是編譯模塊時的文件名。|@||@|注意:配置段是可以嵌套的,從而可以實現簡單的多模塊測試。|@||@|【小結】|@||@|現在再看一下“配置示例1”中關于Weblogic的配置,其中第一行是用于指定集群中托管服務器的地址。而下面的“MatchExpression”表示當URL匹配上后面的表達式時,Apache服務器會把該請求轉給Weblogic處理。從配置中可以看出如果有一個“http://192.23.108.2:8022/images/logon.jpg”這樣的請求,它是不會轉發到Weblogic集群上的。|@|

總結

以上是生活随笔為你收集整理的mysql illegal mix of_mysql字符集问题:Illegal mix of collations的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。