MySQL服務意外停止


  先說一下,發現MySQL服務停了,啟動就又好了,但是好奇服務意外停止的原因,所以看了一下MySQL的錯誤日志。

但是到底是哪個錯誤導致MySQL服務意外終止,還沒有定論,故有了此篇文章,還望知道原因的大俠能告知~

環境:

  OS: windows server 2012 R2

  MYSQL: MySQL5.6

錯誤日志提示(部分)xx是被我替換后的:

2019-07-16 14:57:08 1304 [ERROR] D:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe: The table 'xx' is full
2019-07-16 14:57:08 1304 [ERROR] D:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe: The table 'xx' is full
2019-07-2019-07-17 15:42:34 3608  InnoDB: Encountered a problem with file .\case3\cache_block.ibd
2019-07-17 15:42:34 3608  InnoDB: Disk is full. Try to clean the disk to free space.
2019-07-17 15:42:34 1304 [ERROR] D:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe: The table 'xxxx' is full
2019-07-17 15:42:34 1304 [ERROR] D:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe: The table 'xx' is full
2019-07-17 15:42:34 1304 [ERROR] D:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe: The table 'xxxx' is full
2019-07-17 15:42:34 3608  InnoDB: Encountered a problem with file .\xxx\xxxxxxxxxx.ibd
2019-07-17 15:42:34 3608  InnoDB: Disk is full. Try to clean the disk to free space.
2019-07-17 15:42:34 1304 [ERROR] D:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe: The table 'xxxx' is full
InnoDB: Error: trying to access page number 4294967289 in space 5481,
InnoDB: space name xx/yy,
InnoDB: which is outside the tablespace bounds.
InnoDB: Byte offset 0, len 16384, i/o type 10.
InnoDB: If you get this error at mysqld startup, please check that
InnoDB: your my.cnf matches the ibdata files that you have in the
InnoDB: MySQL server.
2019-07-17 18:06:07 3c18  InnoDB: Assertion failure in thread 15384 in file fil0fil.cc line 5666
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.6/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.

  

感覺關鍵信息有以下幾點:

1.The table 'xxx' is full

2.Encountered a problem with file xxx.ibd

3.Disk is full

4.trying to access page number 4294967289 in space 5481

然后網上查資料唄~

 

結論:

結論1:bug說:

  即“trying to access page number ”是mysql的一個bug 鏈接:鏈接

結論2:磁盤滿了(可能性較大)

  依據:Mysql:The table‘xxxx’is full 、Disk is full和“Encountered a problem with file xxx.ibd”(xxx是表名)

·  我們這個服務器在7-16號確實發生了數據庫所在磁盤磁盤空間被占滿,剩余空間為0的情況。

  可是上次磁盤滿了,數據庫並沒有掛啊,只是apache服務也沒有掛。只不過apache寫服務器的訪問日志時出錯,我刪除了一些磁盤上不用的文件,並重啟apache就好了。

  而且table is full的信息,在16號就出現了,但是當時mysql服務並沒有掛啊。

  難帶是因為table is full出現次數過多,導致數據庫文件損壞(猜測,網上沒有查到相關資料佐證),進而導致MySQL服務掛掉(也是猜測,網上沒有查到相關資料佐證)?

 


免責聲明!

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



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