navicat突然連接不上遠程linux服務器上的mysql


我linux服務器上的mysql是docker安裝的,突然有一天我的navicat連接不上服務器上的mysql,於是開始了下面一系列的修復

1.首先登錄服務器上mysql,看是否能正常登錄,我發現不能正常,報[ERROR] unknown variable   'sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

  進入mysql容器的/etc/mysql/ 目錄下 將my.cnf 文件的關於                           sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

  這一行配置注釋掉,用#,重啟mysql容器,發現在服務器上可以正常登錄,但本地navicat仍然連接不上

2.刪除mysql容器,用鏡像重新創建一個容器,發現報錯WARNING: IPv4 forwarding is disabled. Networking will not work.

  1)容器創建失敗,在宿主機上執行:echo "net.ipv4.ip_forward=1" >>/usr/lib/sysctl.d/00-system.conf

    該操作是在/usr/lib/sysctl.d/00-system.conf文件中添加一行net.ipv4.ip_forward=1

  2)重啟network和docker服務:systemctl restart network && systemctl restart docker

  3)刪除失敗的mysql容器,再一次創建mysql容器:run -itd --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7

3.重新連接mysql,發現已經可以正常連接

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM