簡體   English   中英

MySQL二進制日志位置Windows 2008 Server

[英]MySQL binary log location Windows 2008 Server

我正在運行帶有IIS,PHP和MySQL的Windows 2008 Server。 MySQL作為服務安裝。 服務器上有軟件使用我需要良好備份的數據庫,包括事務日志記錄。 我通過在my.ini文件中設置log-bin =expire_logs_days =來啟用二進制日志記錄。 這會將這些日志保存在該驅動器上的MySQL數據文件夾中。 如果我丟失了驅動器,我會丟失我的日志,他們沒有把我作為備份。

我已經找到了在Linux機器上重新定位這些日志的各種建議,但嘗試使用在log-bin語句中包含路徑的相同想法是行不通的。 我試圖“翻轉”斜線,添加引號以及將Linux“翻譯”到Windows時常見的其他嘗試。

我創建了一個映射驅動器到外部位置,使這更容易,我嘗試使用\\ server \\文件夾路徑語句以及z:\\ path語句。

任何幫助將不勝感激。

如果你在my.ini文件的[mysqld]部分進行了更改,那么你應該是好的。 正確的路徑命名約定應該類似於log-bin="C:/yourfilepathname/logs" 由於您仍然遇到問題,請檢查以確保mysql有權寫入您指定要寫入的日志文件的目錄。

另一種方法可以檢查這是否是問題,當你嘗試停止並啟動mysql服務器時,請轉到.err日志文件,它會告訴你一些沒有權限寫入該目錄的行。

另外,我會注意到它自己的日志bin文件不是備份。 您需要從服務器獲取整個目錄的mysqldump或快照,最好是從主生產服務器的從屬服務器獲取。

你錯過了一個尾部斜杠。

這是my.ini中的內容(我使用的是MariaDB 10.1,但我相信這對你也有用):

[mysqld]
datadir=D:/mysql-data
log-bin=E:/mysql-bin/

當我在log-bin設置中省略了尾部斜杠時,我在日志中也遇到了相同的錯誤,並且服務無法啟動。 添加斜杠后,沒有錯誤,服務已成功啟動。

我現在看到在E:\\ mysql-bin中創建的文件,例如.index,.000001。

確保以文件名結尾。 見下文。

log-bin = C:/ Program Files / MySQL / MySQL Server 5.6 / data / bin.log

實際上這是由於使用正常的窗口反斜杠。 而不是z:\\ use z:/(正斜杠)。 此外,如果您沒有以正斜杠結束,那么它將使用最后一部分作為文件名。 Exp:z:/ bin-logs /(這將有名為.index和.000001的文件)z:/ bin-logs / log(這將包含名為log.index和log.000001的文件)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM