色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql跑著跑著系統時間就慢

老白2年前8瀏覽0評論

最近我們的MySQL數據庫出現了一個奇怪的問題,就是跑著跑著系統時間就慢了。在查詢數據時,我們發現許多記錄的時間戳比實際時間要晚很多。這個問題影響了我們的業務運行,因此我們開始著手解決它。

我們首先查看了系統時間,發現它與數據庫中的記錄相差較大。我們開始考慮MySQL如何獲取系統時間的。我們發現,MySQL會先嘗試從操作系統獲取時間,如果失敗了,它會使用自己的時鐘來維護時間。

/* 從系統獲取時間 */
if (pthread_getspecific(THR_THD) == &mysql_thread_id) 
tv= get_cached_time(&mysql_sysclock);
else
gettimeofday(&tv,0);

因此,我們開始檢查操作系統的時間設置。我們發現,系統時間是正確的。我們進一步檢查了MySQL的時間設置。我們發現,MySQL默認會將系統時鐘同步到自己的時鐘。

[mysqld]  
skip-slave-start  
default-time-zone=SYSTEM  
init-connect='SET NAMES utf8mb4'  
log-error=/var/lib/mysql/mysqld.log  
pid-file=/var/run/mysqld/mysqld.pid  
socket=/var/lib/mysql/mysql.sock  
# synchronize the internal clock with the OS  
# this value should be adjusted according to system clock accuracy  
# never lower to 1 or higher than 10  
# beware of the consequences of clock adjustment  
# for details see: http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_system_time_zone  
system_time_zone=EST

我們發現,MySQL默認將系統時鐘同步到自己的時鐘,而MySQL的時鐘與真實的系統時鐘相差較大。因此,我們想到了一種解決辦法,就是將MySQL時鐘同步到系統時鐘。我們在MySQL命令行工具中執行以下命令:

SET GLOBAL time_zone = 'Asi/Shanghai';

我們重新查詢了數據,發現時間戳的問題得到了解決,現在已經與實際時間同步。這個問題的解決告訴我們,注意數據庫的時間設置非常重要,我們需要不斷地檢查和調整,確保系統正常運行。