Mysql

如何在 Windows 上調查 MySQL 崩潰?

  • September 17, 2018

我在 Windows Server 2008 R2 上執行 MySQL 5.6.19。

我有 3 台伺服器 A、B、C 伺服器 A 是獨立伺服器。該伺服器具有無法放置在伺服器 B 上的數據(即使用者資訊。)

伺服器 B 是另一台獨立伺服器,其數據無法保存在伺服器 A 上。伺服器 B 是伺服器 C 的主伺服器。伺服器 C 是另一台獨立報告伺服器,它是伺服器 B 的從屬伺服器。

在使用將 FEDERATED 表添加到伺服器 B 之後。我將伺服器 C“從屬”重新同步到伺服器 B“它是主”。

但是現在除非我添加 –skip-slave-start 選項,否則伺服器 C 將無法啟動。

此外,每當我START SLAVE;在伺服器 C 上發出命令時,該伺服器立即停止工作(崩潰。)

複製發生了一些事情。我必須說在我添加 FEDERATED 表之前複製工作正常,沒有問題。(**重要說明:**複製執行時我沒有發出任何 create table engine=FEDERATED。我首先在主伺服器(伺服器 B)上創建了所有 FEDERATED 表,然後我創建了伺服器備份並將其恢復到從伺服器(伺服器 C )。

試圖找出導致這次崩潰的原因。我已添加core-file到文件my.ini中以使 MySQL 生成core.pid文件,但沒有創建任何內容。

我嘗試添加core-file-size=1GB,但這導致由於未知變數而根本無法啟動!(也許它不被 Windows 辨識。)

我可以做些什麼來調查 Windows 2008 R2 上的這種無聲崩潰?

謝謝

我想出了一個解決辦法。

我通過命令行執行 MySQL

log-error=....我從 my.ini 文件中禁用了這一行。

我停止了 MySQL 服務。然後我打開一個命令行並執行它

mysqld.exe --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini" --console

這表明我遇到了 MySQL 的錯誤

MySQL 中有一個錯誤,如果您使用聯合表,則每次執行刷新表時 MySQL 都會崩潰。這也可能與您的問題有關,因為它是使用聯合引擎時的具體問題。

https://bugs.mysql.com/bug.php?id=47525

有一個名為 flush_time 的 MySQL 設置,它在 Windows 上預設為 1800(30 分鐘)。這會導致 mysql 每 30 分鐘崩潰一次。由於此設置僅推薦用於資源低的盒子,只要你有一個相當不錯的盒子,解決方案是在 my.ini 中設置 flush_time = 0

在 ’nix 框上,這個值已經預設為 0,所以這只是一個 Windows 問題。

引用自:https://dba.stackexchange.com/questions/81751