mysql error 1114,mysql error 1114 table is full 处理分享
問題描述:
一、早上上班收到報警,用戶中心某slave不同步。
二、查看情況,發現mysql error 1114,The table ‘xxxx’? is full 。。。。。
三、檢查其他slave,都出現同樣問題。
四、解決問題方案
1、網上解決方案
a、修改tmp_table_size參數
b、修改max_heap_table_size參數
*試了上述修改方案,問題沒排除。
2、實施方案
1、跟同事協商,采用之前php程序挪數據的方案。創建一個xxxx_old的表,將xxxx表中數據 replace into xxxx_old select * from xxxx。
2、在slave上執行了 rename xxxx xxxx_old_xx,將xxxx表重命名了xxxx_old_xx。
3、重啟salve同步進程,報錯:Slave SQL: Query caused different errors on master and slave.???? Error on master: message (format)=’The table ‘%-.192s’ is full’ error code=1114 。
4、采用跳過方式處理:set global sql_slave_skip_counter=1,重啟slave進程。
5、mysql報1062錯誤,比如:’Duplicate entry ‘11434134’ for key ‘PRIMARY”, error code=1062. ,該錯誤通過修改my.cnf配置文件,slave-skip-errors=1062 。
6、slave同步之后,同事開始執行php腳本,將xxxx表數據挪到xxxx_old表。期間出現問題,部分slave的xxxx_old表沒有數據(原因是之前沖命名了xxxx表,導致replace的sql語句執行失敗)。
7、由于數據量大,主庫往各個slave同步比較消耗資源。直接從master 將xxxx表沖命名為xxxx_old2。
8、主從庫,結構統一。
上述處理過程存在問題:
1、php挪數據腳本,在沒溝通好的情況下,開始執行
2、首先在slave上重命名,導致后期修改成本比較大
3、第一次處理此類故障,小心為上還是可取的。鑒于第一次處理過程中存在問題,后期要不段優化處理流量。
總結
以上是生活随笔為你收集整理的mysql error 1114,mysql error 1114 table is full 处理分享的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 合肥商品房备案价查询(合肥商品房备案价)
- 下一篇: oracle添加表的索引,oracle批