附錄1

附錄1

我在 FreeBSD 上使用 MySQL 時遇到問題。

它每 20 分鐘就會產生大量 1GB 的二進位文件,並且會迅速填滿可用磁碟空間。

-rw-rw----  1 mysql mysql 1073741982 2013-09-14 18:26 mysql-bin.000174
-rw-rw----  1 mysql mysql 1073741890 2013-09-14 18:42 mysql-bin.000175
-rw-rw----  1 mysql mysql 1073741988 2013-09-14 18:59 mysql-bin.000176
-rw-rw----  1 mysql mysql 1073741964 2013-09-14 19:15 mysql-bin.000177
-rw-rw----  1 mysql mysql 1073741974 2013-09-14 19:29 mysql-bin.000178
-rw-rw----  1 mysql mysql 1073741923 2013-09-14 19:46 mysql-bin.000179
-rw-rw----  1 mysql mysql  577143852 2013-09-14 19:59 mysql-bin.000180

它的發生無需用戶進行任何互聯網活動。我max_binlog_file=526870912在 my.cnf有

我嘗試做

freebsd# mysql -u root -p
mysql> flush logs;
mysql> flush master;

所有 mysql-bin 檔案都會被刪除,並從 mysql-bin.000001 開始計數。

然後是shutdown -r now我的 FreeBSD(rc.conf 中的 mysql_enable="YES")。 MySQL 可以運作,但又開始每 20 分鐘產生 1GB bin 檔案。

附錄1

Mysql適用於aisniff和netams。我已經阻止網路了。並且 mysql 停止產生“mysql-bin”。文件。所以問題大概出在 mysql 和 netams 之間。但我還找不到原因。

當我嘗試讀取 mysql-bin 時,有一些「mysqlbinlog mysql-bin.000179 | less」命令列。在目前文件之前建立的文件。

'fw-sher1# mysqlbinlog mysql-bin.000179 | 'fw-sher1# mysqlbinlog mysql-bin.000179 |較少的
'/!40019 設定 @@session.max_insert_delayed_threads=0/;
'/!50003 設定@OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0/; '分隔符號//;
'# at 4
'#130915 11:27:20 伺服器 id 1 end_log_pos 98 開始:binlog v 4,伺服器 v 5.0.81-log 建立於 130915 11:27:20
'警告:忽略 Append_block,因為 file_id 事件沒有第 file_id 1417
章 1417 第1417章 第
1417章 1417 第
1417章
1417 98 ' #130915 11:27:19
伺服器 id 1 end_log_pos 8313
'#Append_block: file_id: 1 end_log_pos 8313
' #Append_block: file_id: 1 end_log_pos 8313 '#Append_block: file_id: 14178 27:19
伺服器id 1 end_log_pos 16528 '#Append_block: file_id: 1417 區塊
_長度: 8192 '
# 在 16528
'#130915 11:27:19 伺服器 id 1 end_log_pospos 24743 'filed 743 '# 130915 11:27:19 伺服器id 1 end_log_pos 32958 '#App結束區塊:檔案 ID : 1417 block_len: 8192 '# 在 32958 '#130915 11:27:19 伺服器 id 1 endfile_73 len: 8192 '# 在 41173 '#130915 11:27:19 伺服器 id 1 end_log_郵遞區號82248 ' #Append_block:警告:忽略 Append_block,因為 file_id 沒有 Create_file 事件:1417 '警告:忽略 Append_bfile '警告:忽略Append_block,因為file_id 沒有Create_file 事件:1417












等等。這對我來說沒有任何意義。

netams.log 說什麼

檔案:netams.log Line 1006126 Col 0 180576689 bytes 84%
13.09.2013 23:59:52.8916 data-source:1 [WARN]: 從MySQL 收到以下錯誤:等級= 錯誤,訊息= 126,不正確對於表“./netams/monitor.MYI”;嘗試修復它。
13.09.2013 23:59:52.8916 資料來源:1 [警告]:從 MySQL 收到以下錯誤:等級 = 錯誤,程式碼 = 126,訊息 = 表「./netams/monitor.MYI」的金鑰檔案不正確;嘗試修復它。
13.09.2013 23:59:52.8919 資料來源:1 [警告]: 無法將資料載入至 sql 中以進行監視器嘗試「偵錯儲存」
14.09.2013 00:01:20.0461 資料來源:1 [警告]: SQL 載入資料:表'./netams/monitor.MYI'的密鑰檔案不正確;嘗試修復它
14.09.2013 00:01:20.0464 data-source:1 [WARN]: 從 MySQL 收到以下警告:等級 = 警告,代碼 = 1262,訊息 = 第 243 行被截斷;它包含的資料多於輸入列。
14.09.2013 00:01:20.0464 data-source:1 [WARN]: 從 MySQL 收到以下警告:層級 = 警告,程式碼 = 1262,訊息 = 第 265 行被截斷;它包含的資料多於輸入列。

答案1

14.09.2013 00:01:20.0461 data-source:1 [WARN]: SQL Load data: Incorrect key file for table './netams/monitor.MYI'; try to repair it
14.09.2013 00:01:20.0464 data-source:1 [WARN]: Got the following WARNINGS from MySQL: level = Warning, code = 1262, message = Row 243 was truncated; it contained more data than there were input columns.
14.09.2013 00:01:20.0464 data-source:1 [WARN]: Got the following WARNINGS from MySQL: level = Warning, code = 1262, message = Row 265 was truncated; it contained more data than there were input columns.

此錯誤表示 netams 資料庫有一些損壞的表。請注意“表'./netams/monitor.MYI'的密鑰檔案不正確;嘗試修復它」。

修復表通常可以透過幾個命令來完成。修復表有時會導致資料遺失,因此請先備份表。修復可能需要一段時間,具體取決於資料庫的大小 - 有時修復可能會掛起 10-20 分鐘,但實際上它正在悄悄掃描損壞的行。在輔助視窗中執行此操作,以便您可以密切注意並保持耐心。

有關修復表的提示,請查看 MySQL 手冊:

相關內容