Mysql

升級到 Ubuntu 20.04 LTS 後,為什麼 mySQL 無法啟動?

  • May 19, 2021

升級到 Ubuntu 20.04 LTS 後,我的 WordPress 網站陷入維護模式。mySQL 試圖從文件中每隔幾秒重複的這 10 行開始/var/log/mysql/error.log。至少對我來說,快速搜尋該術語unknown variable 'query_cache_limit=1M'只會產生說明如何實現此參數的頁面。我怎樣才能讓它再次工作?

2020-11-12T16:12:25.733349Z 0 [Warning] [MY-011068] [Server] The syntax 'expire-logs-days' is deprecated and will be removed in a future release. Please use binlog_expire_logs_seconds instead.
2020-11-12T16:12:25.735469Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.22-0ubuntu0.20.04.2) starting as process 20068
2020-11-12T16:12:25.746199Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2020-11-12T16:12:26.131087Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2020-11-12T16:12:26.307241Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock
2020-11-12T16:12:26.370126Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2020-11-12T16:12:26.370481Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2020-11-12T16:12:26.377752Z 0 [ERROR] [MY-000067] [Server] unknown variable 'query_cache_limit=1M'.
2020-11-12T16:12:26.378449Z 0 [ERROR] [MY-010119] [Server] Aborting
2020-11-12T16:12:27.821939Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.22-0ubuntu0.20.04.2)  (Ubuntu).

升級到 Ubuntu 20.04 LTS 後,我的 WordPress 網站陷入了維護模式。(這是我升級的第 4 台機器,前 3 台機器升級沒有任何故障。)檢查 apache2 後,我查看了 mySQL。在安裝過程中,我瞥見了 Ubuntu 20.04 升級過程中出現的紅色故障,但沒有辦法回去查看它所說的內容……所以我跟踪了 mySQL 日誌,似乎 mySQL 正在反复嘗試開始自己。它每隔幾秒鐘就不斷重複相同的 10 行。唯一似乎有問題的行是未知變數行。所以我派人去尋找那個變數….

我從文件中找到query_cache_limit並刪除了它。/etc/mysql/my.cnf我一刪除它,錯誤日誌就變成了query_cache_size一個,所以我也從my.cnf文件中刪除了那個。幾秒鐘之內,mySQL 成功重啟,我又重新開始工作了。

# * Query Cache Configuration
#
query_cache_limit = 1M  
query_cache_size        = 16M 
#
# * Logging and Replication
#

**事後分析:**不知道這些參數已經存在了多久,或者我是否介紹過它們(我懷疑我做過),因為這個 VPS 已經執行了 6 年以上。刪除它們使 mySQL 再次執行。我仍然不知道為什麼 mySQL 對它們感到窒息 - 似乎它們很容易忽略它們。希望這對其他人有幫助,因為目前有關此特定錯誤的資訊很少。

root@Ubuntu20.04_server:~# mysql -V
mysql  Ver 8.0.22-0ubuntu0.20.04.2 for Linux on x86_64 ((Ubuntu))

引用自:https://serverfault.com/questions/1042327