日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linux cron執(zhí)行MySQL失敗的問題解決方案

Linux cron執(zhí)行MySQL失敗的實例的問題解決方案是本文我們主要要介紹的,接下來就讓我們一起來了解一下這部分內容吧。

1.首先,為了統(tǒng)計服務器平均在線人數(shù),于是寫了個SHELL腳本,每天7點-0點之間每小時執(zhí)行該命令,獲得當前在線用戶,以便統(tǒng)計最高在線用戶,以及平均在線用戶.

SHELL腳本如下:

 
 
 
  1. time08_23.sh  
  2. -----------------------------------------------------------------------------------  
  3.  
  4. #!/bin/bash  
  5. # crontab -e 57 7-22 * * * /home/nemo/crontab/time08_23.bash  
  6. DB_USER="root" 
  7. DB_PASS="***" 
  8. DB_HOST="localhost" 
  9. DB_PORT="3306" 
  10. # Others vars  
  11. BIN_DIR="/usr/bin" 
  12. # TODO  
  13. # 獲得8080端口  
  14. THETIME=`netstat -ant | grep 8080 | wc -l`  
  15. # 獲得當前小時  
  16. THEHOUR=`date +%H`  
  17.  
  18. # 更新當前小時的現(xiàn)在人數(shù)  
  19. $BIN_DIR/mysql -u$DB_USER -p$DB_PASS -h$DB_HOST -P$DB_PORT << EOF 
  20. use wapgame4sky2;  
  21. UPDATE MgrSky SET time$THEHOUR = $THETIME WHERE TO_DAYS(date) = TO_DAYS(now());  
  22. EOF 

2.以上的SHELL腳本,在本地以及遠程服務器上,通過 source time08_23.sh 以及 ./time08_23.sh 都能正確運行,數(shù)據(jù)無誤,一切正常。

3.但以上腳本使用cron任務調度器執(zhí)行數(shù)據(jù)庫卻沒有數(shù)據(jù),這樣我一度認為是任務調度器配置錯誤,或者權限問題,但查詢錯誤日志獲得以下信息:

 
 
 
  1. Character set 'ascii' is not a compiled character set and is not specified in the '/usr/local/share/mysql/charsets/Index.xml'   
  2.  

4.分析一下便清楚是編碼格式的問題.于是逐步查詢問題所在.

 
 
 
  1. show variables like '%char%';  
  2. +--------------------------+----------------------------+  
  3. | Variable_name            | Value                      |  
  4. +--------------------------+----------------------------+  
  5. | character_set_client     | utf8                       |  
  6. | character_set_connection | utf8                       |  
  7. | character_set_database   | utf8                       |  
  8. | character_set_filesystem | binary                     |  
  9. | character_set_results    | utf8                       |  
  10. | character_set_server     | latin1                     |  
  11. | character_set_system     | utf8                       |  
  12. | character_sets_dir       | /opt/mysql/share/charsets/ |  
  13. +--------------------------+----------------------------+ 

查看本地mysql編碼集設置:

 
 
 
  1. +--------------------------+----------------------------+  
  2. | Variable_name            | Value                      |  
  3. +--------------------------+----------------------------+  
  4. | character_set_client     | latin1                     |  
  5. | character_set_connection | latin1                     |  
  6. | character_set_database   | latin1                     |  
  7. | character_set_filesystem | binary                     |  
  8. | character_set_results    | latin1                     |  
  9. | character_set_server     | latin1                     |  
  10. | character_set_system     | utf8                       |  
  11. | character_sets_dir       | /usr/share/mysql/charsets/ |  
  12. +--------------------------+----------------------------+ 

然后,查詢mysql官網(wǎng),對于該問題的解決辦法如下:http://dev.mysql.com/doc/refman/5.0/en/charset-configuration.html

 
 
 
  1. [client]  
  2. character-sets-dir=/usr/local/mysql/share/mysql/charsets  
  3. [client]  
  4. character-sets-dir="C:/Program Files/MySQL/MySQL Server 5.0/share/charsets" 
  5.  
  6. Character set 'charset_name' is not a compiled character set and is not  
  7. specified in the '/usr/share/mysql/charsets/Index.xml' file  
  8. [client]  
  9. default-character-set=charset_name 

問題應該算是明確了.按照我的理解,linux cron 在編譯shell腳本的時候,應該采用的是latin1字符集.而這里卻使用UTF-8,導致編碼不支持.遂聯(lián)系那邊運維,取得了my.cnf,以及mysql的root權限.

5.修改vi /etc/my.cnf,在[client]下添加,default-character-set=latin1,在[mysqld]下添加,default-character-set=latin1,重啟mysql。

開啟mysql命令:

 
 
 
  1. /usr/local/mysql/bin   
  2. ./mysqld_safe &   
  3. 關閉mysql服務的命令是:   
  4. ./mysqladmin -u root -p shutdown 

按照以上的步驟操作,問題就解決了。

關于Linux cron執(zhí)行MySQL失敗的問題解決方案的相關知識就介紹到這里了,希望本次的介紹能夠對您有所收獲!

【編輯推薦】

  1. MySQL死鎖問題實例分析及解決方法
  2. MySQL數(shù)據(jù)庫丟失root密碼后該如何補救?
  3. Debian+vsftpd+MySQL實現(xiàn)虛擬用戶zz詳解
  4. MySQL支撐百萬級流量高并發(fā)的網(wǎng)站部署詳解
  5. MySQL數(shù)據(jù)庫TIMESTAMP設置默認值的幾個應用實例

文章標題:Linux cron執(zhí)行MySQL失敗的問題解決方案
標題網(wǎng)址:http://m.5511xx.com/article/dpjidoc.html