解決docker中mysql時區問題

問題

數據庫插入的時間統統相差8個小時。

排查過程

  • //初步懷疑服務器時間不對。date看下時間是對的
    //然後懷疑代碼問題,檢查代碼後沒有問題
    //最後懷疑mysql的問題。
    --docker exec -it mysql /bin/bash
    --mysql -uroot -p 
    --show variables like '%time_zone%'
        +------------------+--------+
        | Variable_name    | Value  |
        +------------------+--------+
        | system_time_zone | UTC    |
        | time_zone        | SYSTEM |
        +------------------+--------+
    //可見使用的是系統時區
    -- set time_zone ‘+8:00’;
    -- select now();
        +---------------------+
        | now()               |
        +---------------------+
        | 2019-10-29 15:09:31 |
        +---------------------+
        1 row in set (0.00 sec)
    //發現時區是對的 然後新建一個時間插入操作發現時間還是不對的,然後懷疑沒有重啓的問題。
    //重啓 docker container mysql restart
    //這下該對了吧,重新執行插入操作還是不對。無語
    //懷疑重啓之後剛纔改的失效了比較是docker內置的
    //然後咋整,別怕還有辦法,這下我們直接改文件
    -- docker cp mysql:/etc/mysql/my.cnf ./my.cnf
    -- vim my.cnf 最後一行加上
    default-time-zone = '+8:00'
    -- docker cp ./my.cnf mysql:/etc/mysql/my.cnf
    -- docker container mysql restart
    
    問題得到解決
    
    

     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章